我有一個奇怪的或可能不是很奇怪的問題,我的sqlite數據庫。我有一個「文本」類型的領域,它的工作就像魅力與任何英文文本的年齡。SQLITE更新失敗,錯誤代碼爲1(SQLITE_ERROR)
該字段中的文本用於來自MFC CEdit。現在我切換到CRichEditCtrl來支持格式化和UNICODE文本。 CRichEditCtrl以十六進制格式轉儲格式化文本,如下所示:{\ rtf1 \ ansi \ ansicpg1252 \ deff0 \ deflang1033 {\ fonttbl {\ f0 \ fn \ s \ fcharset0 MS Shell Dlg 2;}}等。
一旦sqlite保存它大部分時間就好了。但有一段時間,它不會給出錯誤代碼SQLITE_ERROR/* SQL錯誤或缺少數據庫* /。該消息不是太有用。數據庫的存在和保存大部分時間?去搞清楚。 這裏是代碼:
error = sqlite3_exec(db,cmd,0,0,0);
if (error != SQLITE_OK){
errMsg.Format("Unable to save notes to: %s\nSQLite Error: %d",filename,error);
AfxMessageBox(_T(errMsg));
sqlite3_close(db);
return false;
}
沒什麼不尋常的我想。
如果您有任何想法,請讓我知道。它可能是由於RTF格式的多種反斜槓,它以某種方式混淆sqlite?哦,這與保存的文字大小無關。 非常感謝。 Val
嘿Tor,我也懷疑反斜槓。所以,你確定如果我的文本包含一些'somthing的sqlite可能會試圖解釋它,而不是把它作爲一個TEXT在我的更新字段'值...'? – val 2009-12-11 21:43:24
您可能希望將cmd var打印到某些日誌,以便您可以在發送時準確查看它的外觀。 – 2009-12-11 22:18:21