我想向我的表中添加一條記錄,但是我在嘗試這樣做時收到異常。我能夠成功打開連接,(我的第一個消息框出現),但之後我得到了異常。這裏是我的代碼:這個SQL插入語句有什麼問題?
Private Sub btnUpdateInfo_Click(sender As Object, e As EventArgs) Handles btnUpdateInfo.Click
Dim con As New SqlConnection
Dim cmd As New SqlCommand
con = New SqlConnection("Data Source=localhost\SQLEXPRESS;Initial Catalog=CISDB;Integrated Security=SSPI;")
Try
cmd.CommandText = "INSERT INTO customers (FirstName,LastName) VALUES (txtFirstName.Text, txtLastName.Text)"
cmd.Connection = con
con.Open()
MsgBox("Connection Open ! ")
cmd.ExecuteNonQuery()
MsgBox("Record inserted")
con.Close()
Catch ex As Exception
MsgBox("Error!")
End Try
End Sub
使用參數的值傳遞到語句。 –
它懷疑你想插入文字「txtFirstName.Text」的名字。使用SQL參數。刪除Try/Catch - 它隱藏了您的重要信息 – Plutonix
幸運的是,這失敗了。它失敗了,因爲你試圖插入字符串文字而不是值。但是,您需要在這裏使用參數,而不是像這樣添加文本框值,因爲它容易受到sql注入的影響。正如已經提到的那樣,捕捉是一個可怕的設計。它幾乎比空的漁獲還要好。您知道發生了錯誤,但由於您沒有記錄或提供任何有用的信息,因此無法知道發生了什麼。 –