您的位置:首页 > 编程语言 > ASP

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

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

DataTable中的字段属性与表中的字段属性不一致,导致了未能启用约束。修改方法:找到***.xsd文件里与表格修改的对应字段,点击该字段的属性----最大长度 等于你的数据表的修改字段后的最大长度 (这个同样试了一下, 但是不知道是否就是问题所在)

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

DataTable中的字段属性与表中的字段属大约规则遵循这样的原则

插入或修改的字段可能为空

或者要输入的某个字段包含重复的值

或者输入的字段有外键约束,即要输入这个字段的值,必须在外键表中已经存在


我在解决过程中遇到一些可能造成问题的原因

1.我生成一个GetCount方法的时候,是在"select返回行"里定义了一个Count(*)的方法,而不是在下面的"返回单个值"中定义的。(虽然我觉得写得查询语句一样,但是这也许同样是问题所在)。

2.数据库中表结构的修改,要删掉强类型Adapter然后再重新拖进去生成一下才可以
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐