各位是如何实现以下功能的?dataset的问题
有表a,表b
表a 表b
a1 a2 a3 b1 b2 b3
1 x x 1 x x
2 x x 1 x x
3 x x 2 x x
a1为主键, b1为外建
由于dataset是离线处理数据,请问各位在提交数据到sql server时,是
如何保证 表a 和表b 的关联性的?
注意,是在多用户的系统下的,也就是说a1主键的值,并不只有你一个
人在使用。
[解决办法]
你的服务器是A表,客户是B表,结构相同,但有许多客户提交,要使A表序号不重复是这样吗
还得补充说明,你的A表和B表是序号要一样是吗,就是说A表序号为5的这条记录是甲客户提交的,在甲客户本地数据库里也要是5是这样吗
[解决办法]
void CreateConstraint() 为DateSet.tables添加外键方法
{
DataColumn parentColumn,childColumn;
ForeignKeyConstraint myForeignKeyConstraint;
parentColumn = ds.Tables["suppliers"].Columns["supplierID"];
childColumn = ds.Tables["products"].Columns["supplierID"];
myForeignKeyConstraint = new ForeignKeyConstraint("SupplierForeignKeyConstraint", parentColumn, childColumn);
myForeignKeyConstraint.DeleteRule = Rule.Cascade ;
myForeignKeyConstraint.UpdateRule = Rule.Cascade ;
myForeignKeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade ;
ds.Tables["products"].Constraints.Add(myForeignKeyConstraint) ;
ds.EnforceConstraints =true ;
}
主键 objDs.Tables(0).PrimaryKey = New DataColumn() {objDs.Tables(0).Columns("字段名")}