2014-04-08 49 views
0

嘿傢伙希望有人可以幫助我一些mysql/visual basic不刪除行時通過可視化基本方法運行刪除語句,但相同的語句在命令行sql中操作是VB聲明:Visual Studio沒有運行DELETE命令行語句MYSQL

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書」>

然後我通過命令行運行完全相同的刪除語句,並且沒有任何錯誤我想知道是否有人可以幫助我通過VB提前致謝。

回答

1

您需要調用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); 
} 
+0

謝謝!爲我清除了它! – Shane

+0

'ExecuteNonQuery'是一種內置的方法。你可以參考這裏的文檔:http://dev.mysql.com/doc/connector-net/en/connector-net-ref-mysqlclient-mysqlcommandmembers.html#connector-net-ref-mysqlclient-mysqlcommand-executenonquery –