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

来源:http://www.cnblogs.com/JuneZhang/archive/2013/01/10/2853981.htmlhtml

今天运行项目,提示“未能启用约束。一行或多行中包含违反非空、惟一或外键约束的值。”的异常信息。数据库

 

在网上找了查了一些缘由:http://www.cnblogs.com/muzihai1988/archive/2011/05/04/2036502.htmlhtm

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

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

  • DataTable中的字段属性与表中的字段属性不一致,致使了未能启用约束。修改方法:找到***.xsd文件里与表格修改的对应字段,点击该字段的属性----最大长度 等于你的数据表的修改字段后的最大长度   我想了一下,昨天确实修改过一个字段的长度,而后在xsd中找到对应的自动,把长度改成新的长度,而后错误就没出现了。
  • 在.xsd 文件里找到出问题的那张表,使用Shift键配合鼠标选中所有的列,而后按Delete删除,而后鼠标右键点击表头,而后在菜单中选择“配置”,而后点击 “完成”按钮,从新生成强类型DateTable便可。使用以上方法的前提是,SelectCommand命令里的SQL语句是相似Select * FROM Table这样的语句。若是没有使用通配符,那就得再修改下SQL语句了,而后再从新生成强类型的DataTable。(此方式并无用过,在删除的时候可能会提示错误,不可以删除,参考附件)

  附件:在删除可能会提示如下错误:方法

      

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

相关文章
相关标签/搜索