嘿,伙计们,希望有人能帮助我解决一些 mysql/Visual Basic 在通过 Visual Basic 方法运行删除语句时不删除行的问题,但相同的语句可以在命令行 sql 中运行,这是 VB 语句:
public void removeBookFromCollection(int bookID)
{
try{
conn = new MySqlConnection(cs);
conn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandText = "DELETE FROM books WHERE Id=" + bookID;
System.Diagnostics.Debug.WriteLine("Deleted book :" + bookID);
}
}
通过使用测试表单按钮多次激活此方法后,我使用 cmd mysql 来检查它是否更新了 mydb 并且没有 <"SELECT * FROM books">
然后,我通过命令行运行了完全相同的删除语句,并且没有任何错误,我想知道是否有人可以帮助我通过 VB 处理该语句,提前致谢。
最佳答案
您需要调用 ExecuteNonQuery
方法才能从代码中实际运行命令。您的解决方案是修改如下:
using (MySqlConnection connection = new MySqlConnection(cs)
{
conn.Open();
MySqlCommand cmd= new MySqlCommand();
cmd.Connection = conn;
cmd.CommandText = "DELETE FROM books WHERE Id=" + bookID;
cmd.ExecuteNonQuery();
System.Diagnostics.Debug.WriteLine("Deleted book :" + bookID);
}
关于mysql - Visual Studio 未运行 DELETE 命令行语句 MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22942340/