2
在我的vb.net应用程序中,我需要将一个表中的一些数据备份到另一个表中。这里是我的代码Vb.net插入行语句执行两次
con2.Open()
txt2 = "select * from pension where empno='" & empno & "' ORDER BY year"
cmd2 = New SqlCommand(txt2, con2)
reader2 = cmd2.ExecuteReader()
While reader2.Read
yr = reader2("year")
totpension = reader2("total")
If dr <> yr Then
dcrg = 0
comm = 0
End If
tot1 = dcrg + comm + totpension
con3.Open()
txt1 = "Insert into over1 values('" & empno & "','" & name & "','" & yr & "','" & dcrg & "', '" & comm & "','" & totpension & "','" & tot1 & "')"
cmd3 = New SqlCommand(txt1, con3)
cmd3.ExecuteNonQuery()
con3.Close()
End While
reader2.Close()
con2.Close()
的问题是它插入每条记录两次,我删除了ORDER BY,也是同样的问题仍然存在。使用参数化查询也有同样的问题。
有人可以解释我的代码中有什么问题,以及如何解决它? 在此先感谢
不,单条记录 – 2013-02-18 07:04:50
如果您试图将表'pension'中的行插入到表'over1'中,则可以直接使用'INSERT INTO over1 SELECT * FROM pension where ...'而不需要循环。 – 2013-02-18 07:06:47
基于'txt1'的值,它看起来不像OP试图从一个表插入一条记录到另一个表。 – Tim 2013-02-18 07:09:17