2016-12-04 154 views
2

我試圖在C#中的表中插入一條記錄,但是當我到達執行查詢以將記錄插入表中的查詢時,它只是來到了這個錯誤:嘗試將數據插入到SQLite數據庫時數據類型不匹配

An exception of type 'System.Data.SQLite.SQLiteException' occurred in System.Data.SQLite.dll but was not handled in user code

Additional information: datatype mismatch

,我必須將數據插入到數據庫的代碼如下:

string stmt = string.Format("INSERT INTO quotes (id, user, quote, date) VALUES ('', '{0}', '{1}', '{2}')", person, quote, date); 

SQLiteCommand cmd = new SQLiteCommand(stmt, connection); 

int rowsAffected = cmd.ExecuteNonQuery(); 

personquotedate都是字符串和結構的數據庫如下所示:

id = INTEGER PRIMARY KEYuser = STRING(255)quote = STRING(255)date = STRING(255)

+0

它看起來像你想插入一個字符串(在第一個元素插入數據值子句)轉換爲整數(id)。 –

+0

我不知道mismatch問題,但你可以寫這樣的查詢太字符串stmt = string.Format(「INSERT INTO引號(用戶,報價,日期)VALUES('{0}','{1}','{ 2}')「,person,quote,date);如果id是自動增加的。 –

+0

從使用SQL參數開始。如果文本包含「O'Toole」之類的東西,它會崩潰;他們也將確保通過正確的類型 – Plutonix

回答

2

如果ID是自動增量,你可以用這個查詢

​​
+0

作品,謝謝.. – John

+0

你能接受答案,如果這對你有用。 –

+0

我會盡快讓我 – John

相關問題