使用 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语法中存在一些错误,但我无法
找到这样的。我的查询是否正确或存在一些语法错误,是否有某种方法
更新多列
你在这一行中有很多问题。
- 值之间没有逗号
- 不使用参数(有 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 类型,则这是有效的。