OleDbException未处理 - Int-Field Type的数据类型不匹配

时间:2012-10-02 16:04:07

标签: c# oledb dbf visual-foxpro

我有一张免费的桌子My_Table1。 My_Table1我有以下字段

Field-Name  ->  sl_no Integer - Width 4

因此从c#中我通过OleDb插入'给出错误,如

"Data Type Mismatch"

我的OleDbCommand是

int a1 = 3;

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

感谢帮助

1 个答案:

答案 0 :(得分:1)

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

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

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