DataTable导致约束未启用

运维 数据库运维
今天修改早期的一个项目,运行后,选择一个查询的页面时,提示“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”的异常信息。

今天修改早期的一个项目,运行后,选择一个查询的页面时,提示“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”的异常信息。

原因分析:强类型的DataTable和SQL语句查询出的结果不匹配。 简单说就是强类型的DataTable比SQL语句查询出来的结果集要多一些数据列或这属性不对应。

针对所提示的异常信息检查了所用表的唯一、非空、外键约束,并未发现异常情况。因此上网查询了有关的资料。所提供的方法有以下几种:

•DataTable中的字段属性与表中的字段属性不一致,导致了未能启用约束。修改方法:找到***.xsd文件里与表格修改的对应字段,点击该字段的属性----最大长度 等于你的数据表的修改字段后的最大长度

•在.xsd文件里找到出问题的那张表,使用Shift键配合鼠标选中全部的列,然后按Delete删除,然后鼠标右键点击表头,然后在菜单中选择“配置”,然后点击“完成”按钮,重新生成强类型DateTable即可。使用以上方法的前提是,SelectCommand命令里的SQL语句是类似Select * FROM Table这样的语句。如果没有使用通配符,那就得再修改下SQL语句了,然后再重新生成强类型的DataTable。(此方式并没有用过,在删除的时候可能会提示错误,不能够删除,见附件)

附件:在删除可能会提示以下错误:

这说明是数据库的连接有问题,解决方法:重启VS,先不要打开项目,在tools中选择connect to database连接到数据库,再打开项目即可。

原文链接:http://www.cnblogs.com/muzihai1988/archive/2011/05/04/2036502.html

【编者推荐】

  1. LINQ操作DataTable出现指定的转换无效问题的解决
  2. 浅析DataSet和DataTable
  3. SQL Server数据库迁移偏方
  4. PDF.NET数据开发框架实体类操作实例之在PostgreSQL中操作
  5. 优化你的DiscuzNT,让它跑起来
责任编辑:艾婧 来源: 博客园
相关推荐

2009-11-04 11:02:23

ADO.NET Dat

2016-03-22 09:38:36

HTTP网络协议

2023-08-30 09:27:37

INVITE消息处理流程

2016-11-08 19:56:09

GitLab漏洞远程命令

2021-09-06 11:46:42

Fortinet漏洞防火墙

2020-03-17 09:45:39

网络安全数据泄露漏洞

2010-11-12 15:04:30

SQL Server缺

2009-09-14 19:58:47

DataSet和Dat

2009-09-15 16:52:19

Linq To Dat

2011-07-27 13:52:57

Exchange 20

2023-12-06 09:27:46

Java程序

2011-04-11 09:39:46

Oracle约束

2011-08-11 18:38:05

Oracle回滚段

2009-10-15 17:44:40

VB6.0 datat

2009-08-24 13:31:38

C# 泛型约束

2010-09-01 17:13:07

SQL删除约束

2010-04-01 14:55:04

Oracle约束

2010-01-04 10:27:04

DataTable对象

2011-07-28 10:31:52

2009-08-24 13:41:23

C# 泛型约束
点赞
收藏

51CTO技术栈公众号