用Dataset的Relations关联两个表时,怎样更新这两个表的记录?
如:
父表:aaa
字段:aID (Int,主键,种子,自动递增1)
Name(Varchar(50))
子表:bbb
字段:bID (Int,主键,种子,自动递增1)
aID (Int,外键,和表aaa字段aID对应)
clsNo(Int,不为空)
我现在把这两个表已经用Dataset的Relations关联起来,而且能分层显示在Datagrid控件里,现在我在Datagrid控件里添加记录:给aaa的Name字段赋值一个Tom,给bbb的clsNo字段赋值3
请问我我应该怎么把这新增的记录更新到数据库的这两张表里?
问题点数:100、回复次数:10Top
1 楼xinyulou(心雨楼)回复于 2003-11-03 14:02:33 得分 20
现往aaa里写,然后往bbb里写,
good luck!Top
2 楼xinyulou(心雨楼)回复于 2003-11-03 14:05:48 得分 20
如:insert aaa .... Name = Tom
从aaa中取出id号
insert bbb ... aID = 从aaa中取出的ID号, clsNo = 3
that all .Top
3 楼laogao(浪迹编程)回复于 2003-11-03 14:22:58 得分 0
我是老高,哈哈.
先添加主表记录,再添加从表记录.Top
4 楼gxingmin(小高)回复于 2003-11-03 14:37:01 得分 0
谢谢各位:
我想是这样的,因为我用DataSet记录集返回到Datagrid控件里,然后手动在Datagrid控件里往aaa里添加若干条记录,然后再在每条记录对应的bbb里添加若干条记录,然后用DataSet更新到数据库里(不用Insert语句写)
现在问题是:更新前aaa的每条记录的aID不知道,所以对应bbb里的aID也没法确定呀Top
5 楼sq0374(为人民服务)回复于 2003-11-03 14:41:13 得分 10
1、根据aaa,bbb创建视图ccc
2、更新视图ccc就可同时更改两个表Top
6 楼haoliqi(学习男孩)回复于 2003-11-03 16:35:07 得分 10
在aaa建个trigger on bbbTop
7 楼haoliqi(学习男孩)回复于 2003-11-03 16:36:23 得分 10
写错了,是在aaa 上Top
8 楼Jarod()回复于 2003-11-26 20:55:39 得分 10
up
Top
9 楼simanh()回复于 2003-11-26 22:09:49 得分 10
1.做触发器,update主表时自动更新从表
2.把2个表对应到View中,更新View就更新2表
3.更新时先delete relation,update后重新加上Top
10 楼vitamin_ok(水水|Eddie(vitamin_ok@mail.csdn.net))回复于 2003-11-26 22:32:25 得分 10
首先在两个标志间添加关联:
DataSet ds = new DataSet();
...
DataRelation rel;
rel = new DataRelation("CustomersOrders",ds.Tables["Customers"].Columns["CustomerID"],ds.Table["Orders"].Columns["CustomerId"]);
ds.Relationships.Add(rel);
.....
ForeignKeyConstraint对象的DeleteRule和UpdateRule属性,详细的查查MSDN吧。Top




