2012-10-02 115 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