1

我有一个空闲表 My_Table1。My_Table1 ia 具有以下字段

Field-Name  ->  sl_no Integer - Width 4

因此,当我通过 OleDb 插入时,从 c# 中,它给出了类似的错误

"Data Type Mismatch"

我的 OleDbCommand 是

int a1 = 3;

OleDbCommand OleCmd1 = new System.Data.OleDb.OleDbCommand("Insert into My_Table1 values('"+a1+"')", OleCon1)

感谢您的帮助

4

1 回答 1

1

INSERT 语句正在插入一个字符值'a1'。这不能存储在整数字段中。如果a1是代码中的一个变量,那么也许你正在寻找这个:

System.Data.OleDb.OleDbCommand("Insert into My_Table1 values("+a1.ToString()+")", OleCon1)

从“最佳实践”的角度来看,最好使用参数化查询来养成避免 SQL 注入攻击问题的习惯。对于整数值,上面的语句可能还可以,但通常不太适合使用简单的连接构建 SQL 语句。

于 2012-10-02T16:08:23.100 回答