我现在有两个DataSet 第一个DataSet是一张Contract表(字段是:CustomerNo(pk) ,ContractNo(pk) BuyName ); 第二个DataSet是一张Customer表的(字段是:CustomerNo(pk) CustName )有一个问题就是在,修改Customer表的CustName,的同时,把Contract表的BuyName 的数据更新为Customer表的CustName的数据????
解决方案 »
- 编写一个程序,使得程序每次都能显示上一次运行的时间?本人菜鸟,请大家解答!谢谢
- c# AnsiString
- c# 实现客户端打印服务器端word文本
- 请大家给我解释一下线程问题好吗?自己不知道该如何理解
- (.net)问大家一个xml更新信息问题.
- 怎么调用OCX的问题,分不够再加啊
- C#关于图像保存,截取的菜鸟问题
- WinForm初级问题 关于控件在窗体上的位置 如何随窗体最大化也变换?
- 求一个WINFORMS登陆窗体的代码 要求连接到数据库.!
- 页面手动给dataviewgrid添加数据,将数据复制给datatable,表示添加的值为空,但是可以检测到有新增的行,但是cells的数据为空????????
- 程序异常退出问题。
- 请问Notify叫什么名字
也可以用C#、vb在业务逻辑中写,
也可以关联
1. 为什么要两个DataSet,在一个里面不是更好?加上DataRelation不好吗?
2. 为什么这样的更新操作不直接在数据库里面用SQL执行?
if @@rowcount <> 0
begin
update Contract set BuyName = 传入Value where 条件
end
ds.Tables["Customer"].RowChanged += new DataRowChangeEventHandler(OnCurstomerRowChanged);然后 private void OnCurstomerRowChanged(object sender, DataRowChangeEventArgs e)
{
if (e.Action == DataRowAction.Change)
{
DataTable dt = (DataTable)sender;
int customerNo = Convert.ToInt32(e.Row["CustomerNo"]);
string custName = e.Row["CustName"].ToString(); //TODO:循环更新Contract表中所有CustomerNo等于customerNo的记录的BuyName为custName.
}
}只是我从事件的角度想的个方法,具体我对DataRowChangeEventHandler不熟悉,楼主自己尝试.
直接在数据库中更新效率会更高