使用 C# 文本框更新 Mysql 中的多个列

本文关键字:Mysql 文本 更新 使用 | 更新日期: 2023-09-27 18:34:22

我想使用 C# 更新 MySQL 中特定行中的 4 列。我想更新

在文本框中输入的值输入到数据库中(如果特定字段已 )。我正在使用

以下查询。

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

我收到一个异常,即mysql语法中存在一些错误,但我无法

找到这样的。我的查询是否正确或存在一些语法错误,是否有某种方法

更新多列

使用 C# 文本框更新 Mysql 中的多个列

你在这一行中有很多问题。

  • 值之间没有逗号
  • 不使用参数(有 Sql 注入问题)

使用这样的东西

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();
}
string query = " update orderform set enrolmentexpected = " +
textBox2.Text + ", stockonhand=" + textBox3.Text + ", numberrequired = "
+ textBox4.Text +  " where name = '" + textBox1.Text + "';"

猜这个名字是一个字符串和其他两个 int

似乎您忘记了表达式后的逗号",":

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 + ";";

您似乎没有使用单引号和逗号。
使用这个

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

如果所有数据类型都是 char 或 varchar 类型,则这是有效的。