【问题标题】:Updating the database using the value which is stored in variable使用存储在变量中的值更新数据库
【发布时间】:2012-11-02 11:58:14
【问题描述】:

我正在使用 Visual C# 2010 express windows 窗体应用程序和用于 DB 的 Mysql。 我想从 DB 中获取一个值(当前学生人数)并将其增加 1 并更新该值。为此,我使用下面的代码,但我收到一个名为“'字段列表'中的未知列'x'的错误。

    connection.Open();
    MySqlCommand cmd1 = new MySqlCommand("SELECT NoOfStudents FROM batch", connection);
                MySqlDataReader dr = null;
                dr = cmd1.ExecuteReader();
                int x;
                while (dr.Read())
                {
                x = Convert.ToInt32(dr[0]);
                x = x + 1;
               }
                dr.Close();
                MySqlCommand cmd2 = new MySqlCommand("UPDATE batch SET NoOfStudents= x", connection);
                cmd2.ExecuteNonQuery();
                connection.Close();

【问题讨论】:

    标签: c# mysql


    【解决方案1】:

    改成

    MySqlCommand cmd2 = new MySqlCommand(string.Format("UPDATE batch SET NoOfStudents= {0}",x), connection);
    

    【讨论】:

      【解决方案2】:

      试试这个

      string sql=string.Format("UPDATE batch SET NoOfStudents= {0}",x);
      MySqlCommand cmd2 = new MySqlCommand(sql, connection);
      

      x 是你程序中声明的变量,Mysql 对此一无所知,这只是一个字符串,编译器会忽略它的内容

      【讨论】:

      • 仍然显示一个名为“使用未分配的局部变量'x'的错误。我错误地分配了x???
      • @user1724557 你应该初始化 x 的东西,例如: int x=0;然后 if(x!=0) 然后执行查询
      猜你喜欢
      • 2013-06-20
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      • 2017-07-22
      相关资源
      最近更新 更多