通过存储过程 填充这个数据实体的问题??高分求救!!!

rustical 2004-09-25 03:52:56
在数据实体层中定义一个数据实体 MossInsu( Inherit dataset )
包括两个表 a 和 b
有一个存储过程 proc_getvalue
select * from a
select * from b
我在程序中使用 调用这个存储过程 proc_getvalue 来填充数据实体

Dim objSqlAda1 As New SqlDataAdapter(objSqlCmd)
objSqlAda1.Fill(MossInsu, Common.GrInsuData.DWINSU_TABLE)
objSqlAda1.Fill(MossInsu, Common.GrInsuData.GRINSU_TABLE)
系统老提示约束错,如果只填充数据实体中的一个表,就不会出错,我应该如何填充呢???
出错原因我发现是 objsqlada1.fill 一次,存储过程就执行一次,所以出现约束错!
但是我该如何通过存储过程 填充这个数据实体呢?
...全文
92 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
rustical 2004-09-27
up
回复
rustical 2004-09-26
up
回复
rustical 2004-09-25
MossInsu 是 Common.GrInsuData 的一个实例

Common.GrInsuData.GRINSU_TABLE 是MossInsu 中定义的一个表的表名
Common.GrInsuData.DWINSU_TABLE 是MossInsu 中定义的另一个表的表名
回复
v192 2004-09-25
问个问题,MossInsu是什么类型?而Common.GrInsuData又是什么?解释一下啊
回复
rustical 2004-09-25
有没有更好的办法!
回复
v192 2004-09-25
分成两个存储过程分别用不同的SqlDataAdapter对它们进行Fill了。
回复
rustical 2004-09-25
我想知道如何解决这个问题,前提条件(一定要使用存储过程)
回复
v192 2004-09-25
有这种可能,因为你的存储过程是两条Select,很可能在第一次执行Fill()的时候就已经把两个表都已经填充了,你跟踪一下看看。应该是这个问题。
回复
rustical 2004-09-25
to v192(魔渡众生):
1. objSqlAda1.Fill(MossInsu, Common.GrInsuData.DWINSU_TABLE)
2. objSqlAda1.Fill(MossInsu, Common.GrInsuData.GRINSU_TABLE)
执行1时候,mossinsu 中 Common.GrInsuData.DWINSU_TABLE 中插入 6 条记录
执行2时候,系统试图再向 mossinsu 中 Common.GrInsuData.DWINSU_TABLE 中插入重复
的 6 条记录,所以抱错!
回复
v192 2004-09-25
有点晕,你给出的信息不是你出错的关键,
objsqlada1.fill 一次,存储过程就执行一次这怎么会是出错原因呢?肯定是这样的情况的啊。
而约束错误很可能是你的Common.GrInsuData.GRINSU_TABLE表和Common.GrInsuData.GRINSU_TABLE建立的关联或是数据类型不同。
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-09-25 03:52
社区公告
暂无公告