日期:2014-05-17  浏览次数:20459 次

根据上传的数据更新数据
有两张表,如下:
表A
Name yi er san si wu
张三 7 8 8 7 9
李斯 9 7 7 8 9

表B
BName Byi Ber Bsan Bsi Bwu
张三 60 70 70 60 80
李斯 80 60 60 70 80

通过excel上传数据给表A,表A的每一个数据相对应一个值,(
如:7对应60,8对应70,9对应80.)当上传成功,表B就根据这一个值做相应的更新。比如现在已上传成功了,表A已变成:
Name yi er san si wu
张三 7 7 8 7 7李斯 8 8 8 8 9
那么表B就相应更新成:
BName Byi Ber Bsan Bsi Bwu
张三 60 60 70 60 60李斯 70 70 70 70 80

--------------------------------
上传给表A没问题,用语句strSql = "insert into " + yuefen + " (Name,Yi,Er,San,Si,Wu) values ('";
  strSql += myDs.Tables[0].Rows[i].ItemArray[0].ToString() + "','";//
  strSql += myDs.Tables[0].Rows[i].ItemArray[1].ToString() + "','";// 
  strSql += myDs.Tables[0].Rows[i].ItemArray[2].ToString() + "','";//
  strSql += myDs.Tables[0].Rows[i].ItemArray[3].ToString() + "','";//
  strSql += myDs.Tables[0].Rows[i].ItemArray[4].ToString() + "','";//
  strSql += myDs.Tables[0].Rows[i].ItemArray[5].ToString() + "','";//
想问的是怎样令表B跟着更新?


------解决方案--------------------
你可以拼两句SQL语句,一个为更新A表,一个为更新B表,然后一起执行插入或者修改语句,即可

你还可以利用存储过程或者触发器,你只需要传递相应参数就行

(int.Parse(myDs.Tables[0].Rows[i].ItemArray[1].ToString())-1)*10 这就是B表计算得出的60
------解决方案--------------------
既然有规律就好说
update A inner jion B on A.name=B.name set A.xxx=B.xxx*10-10