2012-10-02 45 views
1

我有一个空闲表My_Table1。 My_Table1保险业监督从C#具有以下字段OleDbException未处理 - Int-Field类型的数据类型不匹配

Field-Name -> sl_no Integer - Width 4 

所以当我通过OleDb的插入它的给错误,如

"Data Type Mismatch" 

而且我的OleDbCommand是

int a1 = 3; 

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

感谢您的帮助

+1

尝试删除单引号,因为它是一个整数值而不是字符串值。 –

+0

谢谢,我明白了 – Paramu

回答

1

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

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

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

+0

Iam正在寻找int DataType – Paramu