我在做销售订单功能,主表即表头是table1,子表即产品明细表是table2,相关联的字段是订单号码orderID
我是通过以下代码新增订单明细的,
SqlConnection conn = new SqlConnection(connString);
cmd3 = conn.CreateCommand();
cmd3.CommandText = "select * from table2 where orderID='" + oID + "'";
SqlDataAdapter da3 = new SqlDataAdapter(cmd3);
SqlCommandBuilder cb3 = new SqlCommandBuilder(da3);
da3.Update(ds3);
ds3.AcceptChanges();
cb3.Dispose();
da3.Dispose();
dGVDetail.Update();
新增成功,
然后我修改的时候,我先这样加载出来
string sql3 = "select * from table2 where orderID='" + oID + "'"; SqlDataAdapter da3 = new SqlDataAdapter(sql3, conn);
ds3 = new DataSet();
da3.Fill(ds3);
dGVDetail.AutoGenerateColumns = false;
dGVDetail.DataSource = ds3.Tables[0];
问题:如果我没有改过订单明细,直接保存是没有错的,但是如果有删明细行或新增明细行,原来已经保存的订单明细是不会删除,还在,我有什么办法在修改了保存时,册除了原来的订单明细,只要当前的明细?请明示,谢谢。举例
订单号:2009080801 客户:xxx
产品 数量
硬盘 100
光驱 120
我后来修改了,不要光驱了,改成要刻录机,如何做这个修改保存?
我是通过以下代码新增订单明细的,
SqlConnection conn = new SqlConnection(connString);
cmd3 = conn.CreateCommand();
cmd3.CommandText = "select * from table2 where orderID='" + oID + "'";
SqlDataAdapter da3 = new SqlDataAdapter(cmd3);
SqlCommandBuilder cb3 = new SqlCommandBuilder(da3);
da3.Update(ds3);
ds3.AcceptChanges();
cb3.Dispose();
da3.Dispose();
dGVDetail.Update();
新增成功,
然后我修改的时候,我先这样加载出来
string sql3 = "select * from table2 where orderID='" + oID + "'"; SqlDataAdapter da3 = new SqlDataAdapter(sql3, conn);
ds3 = new DataSet();
da3.Fill(ds3);
dGVDetail.AutoGenerateColumns = false;
dGVDetail.DataSource = ds3.Tables[0];
问题:如果我没有改过订单明细,直接保存是没有错的,但是如果有删明细行或新增明细行,原来已经保存的订单明细是不会删除,还在,我有什么办法在修改了保存时,册除了原来的订单明细,只要当前的明细?请明示,谢谢。举例
订单号:2009080801 客户:xxx
产品 数量
硬盘 100
光驱 120
我后来修改了,不要光驱了,改成要刻录机,如何做这个修改保存?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货