0

Visual C#2010ExpressWindowsフォームアプリケーションとMysqlforDBを使用しています。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 に答える