使用存储在变量中的值更新数据库

时间:2012-11-02 11:58:15

标签: c# mysql

我正在使用Visual C#2010 express窗体应用程序& Mysql for DB。 我想从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();

2 个答案:

答案 0 :(得分:1)

更改为

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

答案 1 :(得分:0)

试试这个

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

x是程序中声明的变量,Mysql不知道任何关于它的事情,这只是一个字符串,其内容被编译器忽略