带有更新查询的 OleDbCommand 导致 OleDbException
OleDbCommand with Update query causes OleDbException
调试程序时发现这个问题:
'System.Data.OleDb.OleDbException' 类型的未处理异常发生在 System.Data.dll
附加信息:UPDATE 语句中的语法错误。
cnx.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = cnx;
string idcarte = textBox1.Text;
string name = textBox2.Text;
string phone = textBox3.Text;
string area = textBox4.Text;
string date = textBox5.Text;
string idcartecom = comboBox2.Text;
cmd.CommandText = "Update Family set IDCarte=@idcarte,Name=@name,Phone=@phone,Area=@area,Date=@date where IDCarte=@idcartecom";
cmd.Parameters.AddWithValue("@idcarte", idcarte);
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@phone", phone);
cmd.Parameters.AddWithValue("@area", area);
cmd.Parameters.AddWithValue("@date", date);
cmd.Parameters.AddWithValue("@idcartecom", idcartecom);
cmd.ExecuteNonQuery();
cnx.Close();
如有解决方法,不胜感激
您可以将字段 Date
放在方括号中,因为它是 OLE DB 中的保留字:
cmd.CommandText = "UPDATE Family SET IDCarte=@idcarte,Name=@name,Phone=@phone,Area=@area,[Date]=@date WHERE IDCarte=@idcartecom";
调试程序时发现这个问题:
'System.Data.OleDb.OleDbException' 类型的未处理异常发生在 System.Data.dll
附加信息:UPDATE 语句中的语法错误。
cnx.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = cnx;
string idcarte = textBox1.Text;
string name = textBox2.Text;
string phone = textBox3.Text;
string area = textBox4.Text;
string date = textBox5.Text;
string idcartecom = comboBox2.Text;
cmd.CommandText = "Update Family set IDCarte=@idcarte,Name=@name,Phone=@phone,Area=@area,Date=@date where IDCarte=@idcartecom";
cmd.Parameters.AddWithValue("@idcarte", idcarte);
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@phone", phone);
cmd.Parameters.AddWithValue("@area", area);
cmd.Parameters.AddWithValue("@date", date);
cmd.Parameters.AddWithValue("@idcartecom", idcartecom);
cmd.ExecuteNonQuery();
cnx.Close();
如有解决方法,不胜感激
您可以将字段 Date
放在方括号中,因为它是 OLE DB 中的保留字:
cmd.CommandText = "UPDATE Family SET IDCarte=@idcarte,Name=@name,Phone=@phone,Area=@area,[Date]=@date WHERE IDCarte=@idcartecom";