【发布时间】:2021-07-18 06:45:03
【问题描述】:
我正在尝试更新我的数据库,但是出现了这个关于我的语法的错误
MySql.Data.MySqlClient.MySqlException: '你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '(platenumber,brand,model,yearmodel,regdate,exdate,odometer) set id = '1' values(' at line 1' 附近使用正确的语法
我对 MySQl 不太熟悉,但我摆脱了它在我的代码中显示的所有错误
private void savebtn_Click(object sender, EventArgs e)
{
string ID = idtxt.Text;
MySqlCommand cmd = new MySqlCommand("update inventory.vehicle(platenumber,brand,model,yearmodel,regdate,exdate,odometer) set id = '" + this.idtxt.Text + "' values(@platenumber, @brand, @model,@yearmodel, @regdate, @exdate,@odometer) where id = '"+ this.idtxt.Text +"'", conn);
cmd.Parameters.Add("@platenumber", MySqlDbType.VarChar, 10).Value = pnumber.Text;
cmd.Parameters.Add("@brand", MySqlDbType.VarChar, 60).Value = brand.Text;
cmd.Parameters.Add("@model", MySqlDbType.VarChar, 45).Value = model.Text;
cmd.Parameters.Add("@yearmodel", MySqlDbType.Int32).Value = yearmodel.Text;
cmd.Parameters.Add("@regdate", MySqlDbType.Date).Value = datereg.MinDate;
cmd.Parameters.Add("@exdate", MySqlDbType.Date).Value = regexp.MinDate;
cmd.Parameters.Add("@odometer", MySqlDbType.Decimal).Value = odometer.Text;
int i = cmd.ExecuteNonQuery();
if (i != 0)
{
MessageBox.Show("Success");
}
else
{
MessageBox.Show("Fail");
}
this.Close();
}
什么可能导致这个错误?
【问题讨论】:
-
您是要更新现有记录还是插入新记录?
-
where id = '"+ this.idtxt.Text +"'但是... 为什么?您已经在使用其他所有参数,为什么不这样做呢? -
强制性小鲍比桌阅读:xkcd.com/327
-
我正在尝试更新记录@BrianRogers
-
哦,所以我应该离开
where id = '"+ this.idtxt.Text +"'并删除其他参数?