VC中用ADO的使用:關於執行SQL查詢

     今天 太鬱悶了,一個小小的BUG浪費了我半天的時間。

    在VC中,利用ADO操作數據庫的時候,要執行一條帶條件的SQL查詢,使用方法是:

 

CString SQLStr = "select * from TABLE WHERE ID=123" ;

_RecordsetPtr pRest;
 pRest.CreateInstance(__uuidof(Recordset));

 _CommandPtr pMyCom;
 pMyCom.CreateInstance(__uuidof(Command));
 pMyCom->ActiveConnection = pMyConnect;
 pMyCom->CommandText = (_bstr_t)SQLStr;

pRest = pMyCom->Execute(&vNULL,&vNULL,adCmdText);

運行最後一句的時候老是出錯,似乎是指針出了問題。

研究了N久,就是沒找出毛病,最後把SQL語句換成:

CString ="123"

SQLStr = "select * from TABLE WHERE ID=" ;
 SQLStr += "'";
 SQLStr += BIANHAO ;
 SQLStr += "'";

 

問題解決!

暈菜,才知道,是SQL語句的問題,道理其實很簡單,執行條件查詢的時候 ,當字段爲文本或字符串的時候,要

在變量兩邊加上'  ',說實在的,這簡直是低級的錯誤,可是,千里之堤,潰於蟻穴。寫代碼,防微杜漸是沒有錯的。只有不斷地實踐,這些錯誤纔可能避免或是減少。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章