使用强类型DataSet出现“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值”错误

gameboyerik001 2009-03-31 02:50:41
小D使用强类型的DataSet建立一个对表 Board的访问

这个表有 ID Title Content DateTime Hits MasterID 字段

强类型的主查询是 SELECT * FROM Board

但是我又新建了一个查询 SELECT ID, Title FROM Board ORDER BY DataTime DESC 后

在.cs里调用这个方法 总出现 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值 这个错误


使用DataSet的预览数据的功能发现 我虽然在第2个查询中未选择查询 Content Hits等列 但是预览数据的时候还是出现空列


小D怀疑是这里出的问题 但是没有解决方法?

请遇到过此问题的大侠指点一下

谢谢了
...全文
520 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
whymesocoolyes 2012-02-23
  • 打赏
  • 举报
回复
只要把原来的DataSet删除掉,重新添加查询就可以解决。我刚刚就是这样搞得
gameboyerik001 2009-04-01
  • 打赏
  • 举报
回复
没有办法了吗
gameboyerik001 2009-04-01
  • 打赏
  • 举报
回复
结帖了
gameboyerik001 2009-04-01
  • 打赏
  • 举报
回复
建了一个全新的dataset 问题就没了头晕ing
koukoujiayi 2009-03-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gameboyerik001 的回复:]

不是用的SQL语句 是强类型的dataset
[/Quote]
使用强类型的dataset这种错误的确会发生!
原因好象是多方面的,
1.在创建DataSet中的Adapter时,第一个方法即GetData和后续创建的方法要保持一致,
也就是说select语句的Where前要保持一致,
2.在创建DataSet中的Adapter时,也有主键,一般要和数据表保持一致!!
3.有时把原来的删了再重新件一下,也就好了!
等等吧!!
gameboyerik001 2009-03-31
  • 打赏
  • 举报
回复
我已经把该表除了主键外的所有约束全取消了 还是不行

[ConstraintException: 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。]
gameboyerik001 2009-03-31
  • 打赏
  • 举报
回复
异常详细信息: System.Data.ConstraintException: 未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。


行 807: this.Adapter.SelectCommand = this.CommandCollection[1];
行 808: Board_DS.BoardDataTable dataTable = new Board_DS.BoardDataTable();
行 809: this.Adapter.Fill(dataTable);
行 810: return dataTable;


gameboyerik001 2009-03-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Teng_s2000 的回复:]
到SQL Server中执行这条SQL语句看看报错吗?

DataSet就相当于一个数据库的缓存,一些数据库对象和SQL一样
[/Quote]

不是用的SQL语句 是强类型的dataset
Teng_s2000 2009-03-31
  • 打赏
  • 举报
回复
到SQL Server中执行这条SQL语句看看报错吗?

DataSet就相当于一个数据库的缓存,一些数据库对象和SQL一样
xmq120 2009-03-31
  • 打赏
  • 举报
回复
显然是你数据库里面的外键出现问题了 建议你先从数据库里面把 约束 外键全部去掉测试下
cpp2017 2009-03-31
  • 打赏
  • 举报
回复
因为强类型的DataSet是有与你的数据库一样的约束,如果你的Content Hits等列有非空约束的话,那么你填充的时候不选这些例就会有问题,

要么你选上,要么你填充一个非强类型的DataSet

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧