2017-08-03 37 views
0

这是示例:C#:SQL更新命令不再起作用

没有错误,它的工作完美之前。

////////////////////////////////////////////// ///////////////////////

public bool updateData() 
    { 
     try 
     { 
      connection.Open(); 

      string sqlQuery = "UPDATE Other SET count = '1'"; 

      cmd.CommandText = sqlQuery; 

      cmd.ExecuteNonQuery(); 
      cmd.Clone(); 

      return true; 
     } 
     catch 
     { 
      // 
     } 
     finally 
     { 
      connection.Close(); 
     } 

     return false; 
    } 
+4

没有错误,也许是因为你没有在'catch'块中放置任何异常处理代码? – GurV

+5

**永远不要写一个空的“catch”块**!永远。你永远不会知道是否和为什么失败。此外,这是“ExecuteNonQuery”的结果,您从不检查并返回受影响记录的数量。这些都是你最好的2个猜测和我的意思的猜测,因为没有办法对任何人知道你提供的信息有限。如果您需要更多帮助,请创建[mcve]。 – Igor

+0

它不会进入catch块! –

回答

0

解决方案:

我有2个连接字符串,一个是数据库在我的电脑中的位置,另一个是在客户端PC中使用。

我已经使用了错误的连接字符串,所以,当我使用的是指数据库的位置连接字符串在我的电脑..它的作品!

谢谢大家,

0

试试这个:

public bool updateData(){ 
      _conn.ConnectionString = conn; 
      string comando = ""; 
      try{ 
       _conn.Open(); 
       comando = "UPDATE Other SET count = 1"; 
       //YOUR DB CLIENT COMES HERE 
       MySqlCommand cmd = new MySqlCommand(comando, _conn); 
       cmd.ExecuteNonQuery(); 
       _conn.Close(); 
       return true; 
      } 
      catch (Exception ex){ 
       ex.Message.ToString(); 
       _conn.Close(); 
      } 
      return false; 

}