天天看點

使用ADO的諸多常見疑難雜症

VC中使用ADO連接配接資料庫包含多個細節步驟,稍有不慎便可導緻問題的出現。

VC中我們常常使用

try{

//SQL執行語句

}

catch(_com_error&e)

{

      e.Error();

     MessageBox(e.ErrorMessage());                                                                                              

     MessageBox(e.Description());

     return;

}

的形式使潛在的問題以MessageBox的形式暴露出來。而問題多為以下幾種:

ErrorMessage報錯:

1.dlgdata.cpp檔案出錯 ——工程中出現了異常的變量

2.IDispatch error #3092 ——SQL語句格式不當

3.VC向資料庫中插入資料隻能插入單個字元 ——應該是'%s'而不是'%S',前者代表字元串,後者代表單個字元。

4.IDispatch error #3127 ——檢查表名是否寫錯

5.Unknown error 0x800A0E78 ——記錄集指針的指派出現問題,最好在周遊記錄集之前對其重新指派

6.表達式中的資料類型不比對 ——SQL語句中的數字及null是不需要用單引号包含的,而字元串則是必不可少的,檢查是否未遵循規則。

7.IDispatch error #3088 ——檢查字段是否寫錯

Description報錯:(較為直覺,難于了解的情況尚在總結。。。)

其實,除以上方法外,我們也可以通過在相應的資料庫軟體中直接執行該SQL語句來鑒别相應的錯誤原因。