我有一张免费的桌子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)
感谢帮助
答案 0 :(得分:1)
INSERT语句正在插入字符值'a1'
。这不能存储在整数字段中。如果a1
是代码中的变量,那么您可能正在寻找:
System.Data.OleDb.OleDbCommand("Insert into My_Table1 values("+a1.ToString()+")", OleCon1)
从“最佳实践”的角度来看,最好使用参数化查询来养成避免SQL注入攻击问题的习惯。使用整数值,上面的语句可能没问题,但是通过简单的连接来构建SQL语句通常不太好。