2011-01-18 125 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阅读器;