非常简单的sqlDataAdapter.Fill加载数据问题

kingyu 2003-10-20 05:44:02
本人在做一张Form时,里面要加载两张表,车辆档案和车辆交易记录,这两张表是一对多的关系,车辆档案的编号是主健,车辆交易记录中的车辆编号是外健,与车辆档案的编号想对应;数据加载程序代码如下:

this.sqlConnData.Open();
// 尝试通过 AdapterPj 填充数据集。
this.sqlAdapter车辆档案.Fill(DataSetT,"车辆档案");
this.sqlAdapter车交易记录.Fill(DataSet,"VIEW_车交易记录");
采用强类型DataSet,里面两张表也建立关系。

错误现象:
1、当加载全部数据时没有错误
2、当加载部分车辆档案(通过条件选择)时出现错误,报对应外健什么约束出错。


请高手指点。
...全文
48 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Stevetan81 2003-11-13
  • 打赏
  • 举报
回复
应该在关系收集器(Relations)中加入关系对象
brightheroes 2003-11-13
  • 打赏
  • 举报
回复
sql语句有问题
Mr.Osc 2003-11-13
  • 打赏
  • 举报
回复
遇到了类似的问题,关注。。。
wey1996 2003-11-13
  • 打赏
  • 举报
回复
同意楼上的!
SaSBYa 2003-11-13
  • 打赏
  • 举报
回复
因为有外键约束,所以你在填充数据时,而又有部分数据无法对应,这同你的DataSet集的设定的外键约束有冲突,当然不行了。不过你可以这样处理。在你的车辆档案里加载车辆交易记录中的所有车辆
Kanderliu 2003-11-13
  • 打赏
  • 举报
回复
这个网址可以解决你的问题:http://chs.gotdotnet.com/quickstart/howto/doc/adoplus/GetDataFromDB.aspx
gujianxin 2003-11-13
  • 打赏
  • 举报
回复
将你的数据库中不符合关系的数据删掉,

如果你在数据库中设置了关系,并且设为级联删除就不会有这个问题了

baihecheng 2003-11-13
  • 打赏
  • 举报
回复
如果你已经确定在数据库中建立了主从表关系,
你就在填充DataSet前加上这两句:
this.sqlAdapter.AcceptChangesDuringFill=true;
this.sqlAdapter.MissingSchemaAction=MissingSchemaAction.AddWithKey ;
如果没有在数据库中建立关系,就试着用DataSet.Relations.
chainet 2003-11-13
  • 打赏
  • 举报
回复
代码不全,无法判断。
dahuzizyd 2003-11-13
  • 打赏
  • 举报
回复
可能是你的从表中的和主表关联的字段的内容在主表中不存在。
例如:
主: 从:
id name id
1 aaa 1
2 bbb 1
3 accd 4
niaoren 2003-10-20
  • 打赏
  • 举报
回复
这应该是数据库的问题
(通过条件选择)有可能有问题,,
zhehui 2003-10-20
  • 打赏
  • 举报
回复
你这是用.net自动生成的代码吧。建义用手写代码,
你现在的代码还看不出什么?
建议全部贴出来。
不然也不知道是什么错误

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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