2011-01-18 48 views
0

這條SQL語句我檢查和它的工作原理:SQL不會更新數據庫

UPDATE faxcomplete SET DATE = CURDATE()WHERE DATE = '0000-00-00'

當我運行代碼它不會更新數據庫。我是初學者,我不知道如何檢查,如果事情是錯誤的:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using MySql.Data.MySqlClient; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
    static void Main(string[] args) 
    { 
     string MyConString = "SERVER=localhost;" + 
          "DATABASE=webboard;" + 
          "UID=root;" + 
          "PASSWORD='';"; 
     MySqlConnection connection = new MySqlConnection(MyConString); 
     MySqlCommand command = connection.CreateCommand(); 
     MySqlDataReader Reader; 
     command.CommandText = "UPDATE `faxcomplete` SET `DATE`= curdate() WHERE `DATE`='0000-00-00'"; 
    } 
    } 

}

+1

格式錯誤。這是一件錯誤的事情。 – Nishant

+6

你需要執行sql嗎? – ajreal

+0

你得到的錯誤究竟是什麼? –

回答

4

嘗試在你的命令調用ExecuteNonQuery

1

我注意到的一件事是您不執行該命令或將其綁定到連接。我傾向於使用類似

using (SqlConnection connection = new SqlConnection(connectionString)) 
    { 
     using (SqlCommand command = new SqlCommand("name", connection)) 
     { 
      command.CommandText = "UPDATE `faxcomplete` SET `DATE`= curdate() WHERE `DATE`='0000-00-00'"; 
      command.ExecuteNonQuery(); 
     } 
    } 
+0

只是注意到你的使用MySqlConnection等,不知道這是否有所作爲? – Manatherin

3

執行SQL:

command.ExecuteNonQuery();

您還需要在完成後關閉連接。

connection.Close();

你不需要行

了MySqlDataReader閱讀器;