查询表达式中的数据类型与 OleDbCommand 不匹配

本文关键字:OleDbCommand 不匹配 数据类型 查询表 表达式 查询 | 更新日期: 2023-09-27 17:55:34

char zoneCH = '-'; 
string insertString = "UPDATE streets set TmpColumn=City+'" + zoneCH + "'+State+'" +zoneCH +"'+Zip WHERE 1"; 
OleDbCommand com1 = new OleDbCommand(insertString, mdbConnection);
com1.ExecuteNonQuery();

如果 Zip 是字符串,这将起作用,但如果 Zip 是数字,我会在查询表达式中得到数据类型不匹配。 如何使其与数字配合使用?

查询表达式中的数据类型与 OleDbCommand 不匹配

可能是因为它试图添加而不是连接。不同的数据库对此的处理方式不同。有些人使用左侧来确定它应该做什么。

你应该显式地将 Zip 转换为字符串,然后你就会没事了

但是,由于这是MS Access,因此最好的选择是使用&连接

string insertString = "UPDATE streets set TmpColumn=City & '" + zoneCH + "'& State &'" +zoneCH +"'& Zip WHERE 1"