标准表达式c#中的数据类型不匹配

时间:2015-06-10 15:30:54

标签: c# ms-access-2003

运行以下代码时抛出以下异常:

  

system.data.oledb.oledbexception标准表达式中的数据类型不匹配

private void buttonUp_Click(object sender, EventArgs e)
{
    try
    {
        connection.Open();
        OleDbCommand command = new OleDbCommand();
        command.Connection = connection;
        string query = "UPDATE data SET  Name ='"+txtNL.Text+"' , Period ='"+txtper.Text+"' , DOB = '"+txtmonth.Text+"', price = '"+txtprice.Text+"', follow = '"+combofw.Text+"' WHERE ID = "+txtid.Text+" ";
        //(ID,Name,Period,DOB,price,follow)
        MessageBox.Show(query);
        command.CommandText = query;

        command.ExecuteNonQuery();
        MessageBox.Show("Data Edited/Updated Successful");
        connection.Close();
    }
    catch (Exception ex)
    { MessageBox.Show("Error " + ex); }
}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的一个输入与数据库表所期望的数据类型不匹配。例如,如果您将“abbx”作为日期文本传递,并且您的表期望DateTime,则它不会起作用。确保将输入中的类型与表格中的类型相匹配。