在VS中用C#读取sqlite3中的数据,然后Load到DataTable中,出现报错信息:

System.Data.ConstraintException:“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”

一、车祸现场

从数据库中提取数据,然后装到DataTable中

二、报错信息:

System.Data.ConstraintException:“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”

三、十年艰辛探索——定位问题

  • (1)排除Sql错误
    在数据库中执行sql语句排除是否语法错误,检测结果——没有问题

基本上可以明确,这是数据转换的问题,是哪一列的数据报错呢?

  • (2)逐个字段(列)排除,看看是哪一列出错

四、分析问题

最后发现,把【用户名】字段剔除后,不在报错。
然后仔细分析这一列的数据,发现有NULL值。

五、解决问题

NULL值填充到DataTable中的时候报错,那就给它转换吧,把NULL转成其它的,处理的方法:
ifnull()

六、测试

七、总结

别人的总结,借用一下:

C#从sqlite3中读数据到DataTable中报错 :System.Data.ConstraintException:“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。相关推荐

  1. mysql 未能启用约束_未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。...

    来源:http://www.cnblogs.com/JuneZhang/archive/2013/01/10/2853981.html 今天运行项目,提示"未能启用约束.一行或多行中包含违反 ...

  2. 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。

    来源:http://www.cnblogs.com/JuneZhang/archive/2013/01/10/2853981.html 今天运行项目,提示"未能启用约束.一行或多行中包含违反 ...

  3. 关于未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值的解决方法...

    今天在编写C#程序时,VS提示了"未能启用约束.一行或多行中包含违反非空.唯一或外键约束的值."异常,没有慌乱,因为前几天遇到过这个异常,现在只有悔恨,为什么当时没有写一下博客记录 ...

  4. Homework 1_SQL Server中由于外键约束而删除数据失败

    SQL Server中由于外键约束而删除数据失败 原因分析:外键约束问题.在配置文件中配置了一对一的关系,外键也是唯一的.数据库中数据有严格的依赖关系. 而在业务逻辑中,在往数据库里删除数据之前,却忘 ...

  5. matlab读取txt到矩阵,如何在MATLAB中将文本文件中的数据读入矩阵(How to read data from a text file into a matrix in MATLAB)...

    如何在MATLAB中将文本文件中的数据读入矩阵(How to read data from a text file into a matrix in MATLAB) 我在将.txt文件读入单个矩阵时遇 ...

  6. 【数据库1】mysql,DDL/DML,DQL,外键约束,多表/子查询,事务,登陆,连接池,jdbc,redis,crontab,ftp,oracle,数据交换/存储/收集

    文章目录 1.mysql安装:存储:集合(内存:临时),IO流(硬盘:持久化) 1.1 服务端:双击mysql-installer-community-5.6.22.0.msi 1.2 客户端:命令行 ...

  7. mysql外键约束脚本_如何在MySQL中设置外键约束

    (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加ER图的可读性 有些人认为外键的建立会给开发时操作数据库带来很大的麻烦.因为数据库 ...

  8. 有外键约束的子表插入数据时出现的错误

    mysql-外键 父表:t_grade 子表:t_student 当在字表中插入数据时,必须有与其对应的父表记录,若父表中无对应的相关记录,则子表的数据插入失败 转载于:https://blog.51 ...

  9. mysql外键约束创建及删除_MySQL中的外键的创建,约束和删除

    一.外键的创建 语法一:后续添加方法 alter table 表名 add constraint 约束名 foreign key(当前表中约束的字段) references 主表表名(要约束的字段名) ...

  10. MySQL如何删除有外键约束的数据

    在数据库中查看外键是否有效,值为1表示外键有效 mysql> select @@foreign_key_checks; +----------------------+ | @@foreign_ ...

最新文章

  1. 部署Chromedriver
  2. 总结ISO各层协议都有哪些
  3. python字典实现关键字检索_如何实现搜索框的关键词提示功能
  4. hive和hbase区别和联系
  5. 逆向工程核心原理学习笔记(十二):分析abex' crackme #1
  6. 1079. Total Sales of Supply Chain (25)
  7. kettle增加字段报错_【实战】使用 Kettle 工具将 mysql 数据增量导入到 MongoDB 中
  8. qt构建json字符串的时候,某一个值为字符串
  9. Flutter GetX 状态管理 使用入门 程序计数器 (二)
  10. 成立一年,openEuler为开源带来哪些改变
  11. Java——Map 集合
  12. Deploy a replica set
  13. USB驱动之U盘驱动
  14. dumprep.exe 进程吃掉一半CPU
  15. nn.Sequential()
  16. 华为鸿蒙系统的手机爆光图片,华为P50曝光,隐形镜头+麒麟9000E+鸿蒙系统,欣喜油然而生...
  17. 优化问题-Lagrange函数和共轭函数
  18. 在vue中_this和this的区别
  19. excel从身份证号码中获取邮编信息?
  20. 盘点2018上半年最受欢迎的前端开发!

热门文章

  1. python判断闰年_python判断闰年
  2. 2月29日,四年一遇的日子!
  3. 4个终于被破译的世界级密码
  4. wps excel 插入公式 整列
  5. Web前端工程师职业方向定位
  6. Meson构建系统(一)
  7. 2.3 常用导数公式及推导
  8. Zeppelin0.8.1上操作hive(使用jdbc解释器)
  9. 显著性检验--学习笔记
  10. Global Shutter(全局快门)与Rolling Shutter(卷帘快门)的区别与比较