主題:DBManager類執行sql語句出錯 共有41388人關注過本帖 |
---|
AT_lee |
1樓 |
DBManager類執行sql語句出錯 Post By:2011-11-29 16:47:00 [只看該作者]
調用DBManager類操作數據庫時,如下的刪除表,創建表,插入都正常
                CString TableName; TableName="testtable"; dbm.DeleteTable(TableName); dbm.CreateTable(TableName); dbm.InsertRecord(TableName,test); 可select語句執行報錯。                 execsql.Format(_T("SELECT * FROM %s"),TableName); dbm.ExecSql(execsql); 執行select語句后   hr= -214746726{E_NOINTFACE} 請大家幫忙看看是什么原因! |
|
單帖管理 | 引用 | 回復 |
yy |
2樓 |
Post By:2011-11-30 11:17:00 [只看該作者]
我們先看下該問題再聯系你,我郵件你一個微軟的官方例程給你,測試可用
|
|
單帖管理 | 引用 | 回復 |
AT_lee |
3樓 |
Post By:2011-12-2 18:04:00 [只看該作者]
原代碼為
hr = m_pADOCERS->Open(varStrSql,varEmpty,MSADOCE::adOpenDynamic,MSADOCE::adLockOptimistic,MSADOCE::adCmdText); 修改為 hr = m_pADOCERS->Open(varStrSql,varEmpty,MSADOCE::adOpenUnspecified,MSADOCE::adLockUnspecified,MSADOCE::adCmdUnspecified); 測試了一下,可以使用select語句了 |
|
單帖管理 | 引用 | 回復 |
yxy |
4樓 |
Post By:2011-12-2 18:21:00 [只看該作者]
demo能運行,但是我們的圖形demo不行,使用了繪圖資源,為了圖漂亮。但是這個上面跑不起來,程序員說是內核驅動不支持。他給了你們技術支持我們的運行代碼什么的,和例程了。
|
|
單帖管理 | 引用 | 回復 |
IT |
5樓 |
Post By:2012-2-14 15:32:00 [只看該作者]
按AT_lee的說法修改了下ExecSql函數的源代碼,結果select 命令可以了,但是insert命令卻又返回錯誤,請求通用的ExecSql執行語句
|
|
單帖管理 | 引用 | 回復 |
yy |
6樓 |
Post By:2012-2-15 13:23:00 [只看該作者]
如果使用select,Recordset::Open的第四個參數不能為adLockOptimistic。使用AT_lee的辦法,全使用默認值是個好辦法,我測試沒有什么問題。insert命令出錯可能是之前有插入過相同的數據了。
|
|
單帖管理 | 引用 | 回復 |