Несоответствие типов данных в выражении запроса с OleDbCommand
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 - это число, я получаю несоответствие типов данных в выражении запроса. Как я могу заставить его работать с номером?
1 ответ
Решение
Вероятно, потому что он пытается добавить вместо объединения. Разные БД справляются с этим по-разному. Некоторые используют левую сторону, чтобы определить, что делать.
Вы должны явно привести Zip к строке, и тогда у вас все будет хорошо
Однако, поскольку это MS Access, лучше всего использовать & для объединения
string insertString = "UPDATE streets set TmpColumn=City & '" + zoneCH + "'& State &'" +zoneCH +"'& Zip WHERE 1"