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

今天修改一个项目,运行后,网页报错,提示“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”的异常信息。

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


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

  • DataTable中的字段属性与表中的字段属性不一致,导致了未能启用约束。修改方法:找到***.xsd文件里与表格修改的对应字段,点击该字段的属性----最大长度 等于你的数据表的修改字段后的最大长度 
  • 在Dataset.xsd文件里找到出问题的那张表,使用Shift键配合鼠标选中全部的列,然后按Delete删除,然后鼠标右键点击表头,然后在菜单中选择“配置”,然后点击“完成”按钮,重新生成强类型DateTable即可。使用以上方法的前提是,SelectCommand命令里的SQL语句是类似Select * FROM Table这样的语句。如果没有使用通配符,那就得再修改下SQL语句了,然后再重新生成强类型的DataTable。

 转载自:http://www.cnblogs.com/muzihai1988/archive/2011/05/04/2036502.html

转载于:https://www.cnblogs.com/alonghay/archive/2011/05/18/2050230.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值