0

我正在使用 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();
4

2 回答 2

1

改成

MySqlCommand cmd2 = new MySqlCommand(string.Format("UPDATE batch SET NoOfStudents= {0}",x), connection);
于 2012-11-02T12:01:35.290 回答
0

尝试这个

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

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

于 2012-11-02T12:02:28.783 回答