Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 无法从MS Access数据库中删除数据_Vb.net_Ms Access - Fatal编程技术网

Vb.net 无法从MS Access数据库中删除数据

Vb.net 无法从MS Access数据库中删除数据,vb.net,ms-access,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() 这是对我的数据库的捕获,记录仍然存在: 您需要将Te

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

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()
这是对我的数据库的捕获,记录仍然存在:

您需要将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]。您需要将其替换为为为列指定的数据类型

<>我也会考虑实施:

有时,代码需要非托管资源,例如文件句柄、COM包装器或SQL连接。Using块保证在代码使用完一个或多个这样的资源后可以对它们进行处理。这使它们可供其他代码使用


一个想法是阅读并尝试使用OleDbConnection。快速猜测:从Etat_projet删除,其中Nom_du_client=&TextBox1.Text=>将其更改为从Etat_projet删除,其中Nom_du_client='&TextBox1.Text&'
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