1

C# を使用して MySQL の特定の行の 4 つの列を更新したい。

特定のフィールドがすでにデータベースに入力されている場合、テキスト ボックスに入力された値。

次のクエリ。

 string query = " update orderform set enrolmentexpected = " +
    textBox2.Text + " stockonhand=" + textBox3.Text + " numberrequired = "
    + textBox4.Text +  " where name = " + textBox1.Text + ";";

mysql 構文に何らかのエラーがあるという例外が発生していますが、できません

などを見つけます。私のクエリは正しいですか、それとも構文に誤りがありますか?また、何らかの方法がありますか?

複数の列の更新

4

4 に答える 4

2

その行には多くの問題があります。

このようなものを使用してください

using(MySqlConnection cn = GetConnection())
{
    cn.Open();
    string queryText = "update orderform set enrolmentexpected = ?en, stockonhand=?st, numberrequired=?num where name = ?name;";     
    MySqlCommand cmd = new MySqlCommand(queryText, cn);
    cmd.Parameters.AddWithValue("?en", textBox2.Text);
    cmd.Parameters.AddWithValue("?st", textBox3.Text);
    cmd.Parameters.AddWithValue("?num", textBox4.Text); // ?? require conversion to Int ???
    cmd.Parameters.AddWithValue("?name", textBox1.Text);
    cmd.ExecuteNonQuery();
}
于 2012-05-16T08:44:14.443 に答える
1
string query = " update orderform set enrolmentexpected = " +
textBox2.Text + ", stockonhand=" + textBox3.Text + ", numberrequired = "
+ textBox4.Text +  " where name = '" + textBox1.Text + "';"

名前は文字列で、他の2つはintだと思います

于 2012-05-16T08:43:09.553 に答える
0

式の後のコンマ「,」を忘れたようです:

string query = " update orderform set enrolmentexpected = " + textBox2.Text + ", stockonhand=" + textBox3.Text + ", numberrequired = " + textBox4.Text + " where name = " + textBox1.Text + ";";

そして引用も:

string query = " update orderform set enrolmentexpected = '" + textBox2.Text + "', stockonhand= '" + textBox3.Text + "' , numberrequired = '" + textBox4.Text + "' where name = " + textBox1.Text + ";";

于 2012-05-16T08:39:27.440 に答える
0

一重引用符とコンマを使用していないようです。
これを使って

string query = " update orderform set enrolmentexpected = '" +
textBox2.Text + "', stockonhand='" + textBox3.Text + "', numberrequired = '"
+ textBox4.Text +  "' where name = '" + textBox1.Text + "';";

これは、すべてのデータ型が char または varchar 型である場合に有効です。

于 2012-05-16T08:41:55.883 に答える