问题描述
我有两个表: 表1(xID,xKEY,xAMOUNT,xCLEAR)
(1,A,10)
(2,B,100)
(3,C,1000)
(4,A,50)
TABLE2(xID,xKEY,xAMOUNT,xCLEAR)
(1,A,2)
(2,A,7)
(3,A,100)
我有两个循环:
cmd1.CommandText = "SELECT * FROM TABLE1 WHERE xCLEAR IS NULL";
Reader1 = cmd1.ExecuteReader();
while (Reader1.Read())
{
if (Reader1.IsDBNull(0)) { T01_xID = 0; } else { T01_xID = Reader1.GetDouble(0); }
if (Reader1.IsDBNull(1)) { T01_xKEY = ""; } else { T01_xKEY = Reader1.GetString(1); }
if (Reader1.IsDBNull(2)) { T01_xAMOUNT = 0; } else { T01_xAMOUNT = Reader1.GetDouble(2); }
if (Reader1.IsDBNull(3)) { T01_xCLEAR = ""; } else { T01_xCLEAR = Reader1.GetString(3); }
cmd2.CommandText = "SELECT * FROM TABLE2 WHERE xCLEAR IS NULL";
Reader2 = cmd2.ExecuteReader();
while (Reader2.Read())
{
if (Reader2.IsDBNull(0)) { T02_xID = 0; } else { T02_xID = Reader2.GetDouble(0); }
if (Reader2.IsDBNull(1)) { T02_xKEY = ""; } else { T02_xKEY = Reader2.GetString(1); }
if (Reader2.IsDBNull(2)) { T02_xAMOUNT = 0; } else { T02_xAMOUNT = Reader2.GetDouble(2); }
if (Reader2.IsDBNull(3)) { T02_xCLEAR = ""; } else { T02_xCLEAR = Reader2.GetString(3); }
if (T01_xKEY == T02_xKEY)
{
cmd3.CommandText = "UPDATE TABLE1 SET xAMOUNT='" + (T01_xAMOUNT - T02_xAMOUNT) + "' WHERE xID='" + T01_xID + "'";
Reader3 = cmd3.ExecuteReader();
cmd3.CommandText = "UPDATE TABLE2 SET xCLEAR='DONE' WHERE xID='" + T02_xID + "'";
Reader3 = cmd3.ExecuteReader();
}
}
}
但是,第(1,A,10)行->(1,A,3)
我想在每个循环的cmd3.ExecuteReader之后提交:
TABLE1(1,A,10)与TABLE2(1,A,2)-> TABLE1(1,A,8)
之后,
(1,A,8)与(1,A,7)-> TABLE1(1,A,1)
请帮助我!
非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)