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