无法从MS Access数据库中删除数据

时间:2017-07-25 22:05:05

标签: vb.net ms-access

我无法从数据库中删除数据。这是我的代码:

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()

这是我的数据库的捕获,记录仍然存在:

enter image description here

1 个答案:

答案 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