我用下面的代碼保存哪些用戶編輯,代碼不給我任何錯誤代碼,但在同一時間,它沒有做任何事情,該數據仍然沒有任何新變化:保存在數據庫中沒有工作?! (VB.NET | OLE)
Dim a As String
a = comb3.Text & "/" & comb2.Text & "/" & comb1.Text
Dim SavInto As New OleDb.OleDbCommand
Dim ConStr As String = _
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & _
Application.StartupPath & "\base.mdb"
Dim Conn As New OleDbConnection(ConStr)
Conn.Open()
SavInto.Connection = Conn
SavInto.CommandType = CommandType.Text
SavInto.CommandText = "UPDATE tb SET Tasalsol = '" & _
Trim(frm.tx1.Text) & _
"' , anomber = '" & Trim(frm.TextBox2.Text) & _
"' , nam= '" & Trim(frm.tx3.Text) & _
"' , rotba= '" & Trim(frm.tx4.Text) & _
"' , spesh= '" & Trim(frm.tx5.Text) & _
"' , lastvstart= '" & a & _
"' WHERE Notes ='" & Trim(frm.tx8.Text) & "'"
SavInto.ExecuteNonQuery()
Conn.Close()
With frm
.tx1.Text = Me.tx1.Text
.TextBox2.Text = Me.tx2.Text
.tx3.Text = Me.tx3.Text
.tx4.Text = Me.tx4.Text
.tx5.Text = Me.tx5.Text
.tx6.Text = a
.tx8.Text = Me.tx8.Text
End With
frm.Show()
Me.Close()
我寫的整個代碼,究竟什麼是錯誤的正是?!並且謝謝
注意:有一些列的單元格中可能有許多相同的數據。
SQL注入攻擊是右邊的門後面。不要連接字符串值來創建查詢。改用參數。 – 2009-12-06 20:09:23
當您直接在數據庫中運行SQL時,您的SQL是否正常工作?如果您進入代碼並在CommandText設置後立即停止,您可以看到正在發送的SQL。將其複製並在數據庫中運行並驗證它是否正常工作。 – DOK 2009-12-06 20:11:10
我強烈懷疑'WHERE'子句的值爲false,因此,沒有行被更新。 – 2009-12-06 20:12:26