c#中条件表达式中的数据类型不匹配

时间:2012-04-27 05:34:07

标签: c#-4.0 ms-access-2007

我有一个问题,当我运行我的代码时,会出现错误“” System.Data.OleDb.OleDbException:条件表达式中的数据类型不匹配。“”。 并且数据类型是数字。

plz建议我这个。

代码

 protected void btn_Save_Click(object sender, EventArgs e)
    {
        string str = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Users/Geeta/Desktop/eTimeTrackLite1.mdb;Persist Security Info=False;");
        OleDbConnection conn = new OleDbConnection(str);
        conn.Open();
        string query = "insert into Employees (EmployeeName,EmployeeCode,Designation,Grade,Team,Location,EmployementType,HolidayGroup) values ('" + txt_empname.Text + "','" + txt_code.Text + "', '"+ Convert.ToString(dp_designation.SelectedItem)+"', '"+Convert.ToString(dp_grade.SelectedItem)+"', '"+Convert.ToString(dp_team.SelectedItem)+"', '"+Convert.ToString(dp_location.SelectedItem)+"', '"+Convert.ToString(dp_emptype.SelectedItem)+"',  '"+Convert.ToString(dp_holigroup.SelectedItem)+"')";
        OleDbCommand cmd = new OleDbCommand(query, conn);
        cmd.ExecuteNonQuery();
        conn.Close();
        BindGridData();
    }

“谢谢”

1 个答案:

答案 0 :(得分:1)

您在insert startement中将字符串作为值,并且某些db值不是string类型。这导致错误。

查看表定义并将insert语句的参数转换为正确的类型。