简体   繁体   English

条件表达式中的数据类型不匹配(Access DB)

[英]Data type mismatch in criteria expression (Access DB)

My datatype in the Database Table is Short Text and I'm not sure Why I'm getting this error at command2.ExecuteNonQuery(); 我在数据库表中的数据类型是短文本,我不确定为什么在command2.ExecuteNonQuery();出现此错误command2.ExecuteNonQuery();

Error Message 错误信息

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll

Additional information: Data type mismatch in criteria expression.

My Codes 我的密码

OleDbCommand cmd1 = new OleDbCommand();
cmd1.Connection = con;
cmd1.CommandText = "SELECT * FROM Customers Where FirstName=@FirstName OR LastName=@FirstName OR NRIC=@FirstName";
cmd1.Parameters.AddWithValue("@FirstName", txtSearch.Text);
OleDbDataReader read2 = cmd1.ExecuteReader();
string id = "";
while(read2.Read())
{
    id = read2["id"].ToString();
}
OleDbCommand command2 = new OleDbCommand();
command2.CommandText = "UPDATE CheckIn_Details SET ModeOfCheckIn='True' WHERE ID='" + id + "'";
command2.Connection = con;
command2.ExecuteNonQuery(); 

If ID is AutoNumber then you do not need quotation marks. 如果ID为AutoNumber,则不需要引号。 Try this instead: 尝试以下方法:

command2.CommandText = "UPDATE CheckIn_Details SET ModeOfCheckIn='True' 
WHERE ID=" + id;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM