【问题标题】:MySqlCommand.ExecuteNonQuery failsMySqlCommand.ExecuteNonQuery 失败
【发布时间】:2011-10-30 23:15:11
【问题描述】:

我正在尝试在 mysql 数据库中执行 INSERT 查询,但除了代码执行停止并且没有插入任何内容之外,它什么也没发生。 这是代码(连接在另一点建立并且正在工作):

            query = string.Format("INSERT INTO users (username, settings) VALUES('{0}', '{1}')", userName, sw.ToString());
            myCommand = new MySqlCommand();
            myCommand.CommandText = query;
            myCommand.Connection = con;
            myCommand.ExecuteNonQuery();

如果我单步执行代码,它会在 executenonquery 之后停止,所以很明显那里出了点问题。上帝我讨厌它不会向我抛出错误:(

【问题讨论】:

  • 老实说,可能是很多不同的事情造成的。 ExecuteNonQuery() 返回什么?
  • 问题是它不返回任何东西,代码执行后挂起。显示了表单,但事情没有按应有的方式工作等。我尝试直接对数据库执行查询,它可以工作。

标签: c# mysql executenonquery


【解决方案1】:

您是否检查过连接实际上是打开的,并尝试通过将结果分配给 try catch 块中的 int 来执行该方法。

int result;

try 
{
    if (conn.State != ConnectionState.Open)
                    conn.Open();

    result = Convert.ToInt32(dbComm.ExecuteNonQuery());
 }
 catch (Exception ex)
 {
    logger.Error(ex);
 }
 finally
 {
     if (conn.State != ConnectionState.Closed)
                    conn.Close();
 }

【讨论】:

  • 现在太棒了,它终于给我一个错误,我能够解决它!谢谢!
  • int result 从未使用过,你为什么在那儿有它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-20
  • 2016-01-22
  • 1970-01-01
相关资源
最近更新 更多