我想向我的表中添加一条记录,但是我在尝试这样做时收到异常。我能够成功打开连接,(我的第一个消息框出现),但之后我得到了异常。这里是我的代码:这个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注入的影响。正如已经提到的那样,捕捉是一个可怕的设计。它几乎比空的渔获还要好。您知道发生了错误,但由于您没有记录或提供任何有用的信息,因此无法知道发生了什么。 –