我是VB.NET和MySqL的新手。我想删除数据库中的记录。 使用,
Dim SQLStatement As String = "DELETE name,date FROM people"
RetrieveInfos(SQLStatement)
其中,
Public Sub RetrieveInfos(ByRef SQLStatement As String)
Dim cmd As MySqlCommand = New MySqlCommand
With cmd
.CommandText = SQLStatement
.CommandType = CommandType.Text
.Connection = SQLConnection
.ExecuteNonQuery()
End With
SQLConnection.Close()
SQLConnection.Dispose()
End Sub
但是有一个InvalidOperationException错误,我很困惑。 我想删除数据库中的记录而不引用"数字= VALUE"为了删除以前记录的值。那可能吗?
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
你遇到了一些问题:
由于您要删除记录,因此不在删除语句中指定列名。
您的命令如果成功执行,将删除人员表中的每条记录。
您正在关闭并在RetrieveInfos方法的末尾处理SQLConnection。如果此连接在代码中的其他位置打开,则只能首次执行代码。
如果正在删除,则不应将此方法称为“检索”。
该命令应包含在using语句
中Using cmd As MySqlCommand = New MySqlCommand
With cmd
.CommandText = SQLStatement
.CommandType = CommandType.Text
.Connection = SQLConnection
.ExecuteNonQuery()
End With
End Using