具有Update查询的OleDbCommand导致OleDbException

时间:2016-04-16 01:30:56

标签: c# asp.net oledbconnection

我在调试程序时发现了这个问题:

System.Data.dll中出现未处理的“System.Data.OleDb.OleDbException”类型异常

其他信息: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();

如果有解决方案,我将感激不尽。

1 个答案:

答案 0 :(得分:3)

您可以将字段Date放在方括号中,因为它是OLE DB中的保留字:

cmd.CommandText = "UPDATE Family SET IDCarte=@idcarte,Name=@name,Phone=@phone,Area=@area,[Date]=@date WHERE IDCarte=@idcartecom";