將郵件存到access中,前面的幾封郵件還好好著,能存進去.突然就報錯了. 看代碼:
_bstr_t bstrBody = pMessage->HTMLBody;//此處得到郵件的text/html內容
COleDateTime oleDate = pMessage->Date;
////////////////////////此處將獲取的郵件存到access資料庫中///////////////////
_variant_t RecordsAffected;
m_pRecordset.CreateInstance("ADODB.Recordset");
CString sqlstr;
CString date=oleDate.Format("%Y-%m-%d %H:%M:%S"); //COleDateTime->CString
sqlstr= "INSERT INTO [郵件] ([owner],[postter],[subject],[body],[date]) VALUES('"+parent+"','"+(LPCTSTR)bstrFrom+"','"+(LPCTSTR)bstrSubject+"','"+(LPCTSTR)bstrBody+"','"+date+"')";//
m_pConnection->Execute(_bstr_t(sqlstr),&RecordsAffected,adCmdText);
存了幾封就出錯了 try ..catch 得出的錯誤資訊是

打開access[郵件] 一看,果然只存了前面幾個郵件. 不知道為啥存到這就報錯了 而且它報的錯是:語法錯誤(運算子丟失)在查詢運算式xxxx中..這個xxx就是郵件的內容..我咋就看不懂它報的這個錯誤....跟郵件內容有什么關系. 求高手來解決.困擾一段時間了
uj5u.com熱心網友回復:
將錯誤提示資訊放到百度搜索框中搜一下。uj5u.com熱心網友回復:
加分 "勇夫"呢?uj5u.com熱心網友回復:
在采用ADO訪問ACCESS資料庫的時候,出現IDispatch error #3092錯誤原因之一是在SQL陳述句中使用了保留關鍵字。
比如:如果表的名稱為User 則會出現該錯誤。
參考:
http://blog.csdn.net/qq276592716/article/details/6580438
http://blog.csdn.net/donglynn/article/details/5525214
uj5u.com熱心網友回復:
內容超出了欄位長度?uj5u.com熱心網友回復:
或者你的資料本身包含 ' 'uj5u.com熱心網友回復:
主要是字串進行編碼處理等,可能有字符跟sql關鍵字沖突了uj5u.com熱心網友回復:
唉 不知道怎么處理
uj5u.com熱心網友回復:
蒽蒽?
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/99715.html
標籤:數據庫
上一篇:VC++ 基于對話框的MFC
