我无法从数据库中删除数据。这是我的代码:
Dim DeleteData As OleDbCommand
conn.open()
sql1 = ("DELETE FROM Etat_projet WHERE Nom_du_client= &TextBox1.Text")
DeleteData = New OleDbCommand(sql1, conn)
DeleteData.ExecuteNonQuery()
Me.Close()
这是我的数据库的捕获,记录仍然存在:
答案 0 :(得分:2)
您需要将TextBox1.Text
作为参数传递给命令,如下所示:
sql1 = "DELETE FROM Etat_projet WHERE Nom_du_client = ?"
DeleteData = New OleDbCommand(sql1, conn)
DeleteData.Parameters.Add("@Nom", OleDbType.[Type]).Value = TextBox1.Text
DeleteData.ExecuteNonQuery()
请注意,我使用了
OleDbType.[Type]
。您需要将其替换为您为列指定的数据类型。
我还会考虑实施Using:
有时,您的代码需要非托管资源,例如文件句柄,COM包装器或SQL连接。使用块可确保在代码完成后处理一个或多个此类资源。这使得它们可供其他代码使用。
Using con As New OleDbConnection(connectionString),
cmd As New OleDbCommand("DELETE FROM Etat_projet WHERE Nom_du_client = ?", con)
cmd.Parameters.Add("@Nom", OleDbType.[Type]).Value = TextBox1.Text
cmd.ExecuteNonQuery()
End Using