_bstr_t和_variant_t

原文來自:http://blog.sina.com.cn/s/blog_5f7dc62e0100dowp.html

擔心以後找不到 故而轉載

_bstr_t和_variant_t
 
_variant_t和_bstr_t這兩個類分別封裝並管理VARIANT和BSTR這兩種數據類型,VARIANT和BSTR這兩種類型是COM中使用的數據類型。爲了C++中的變量應用到ADO編程中,只能進行數據類型的轉換。_variant_t和_bstr_t這兩個類,就可以方便的把C++類型變量轉換成COM中的變量了.
 
vc中利用ADO連接數據庫時,進入數據庫,利用open方法時,第一個參數數據類型爲_bstr_t
m_pRecordset->Open(_bstr_t(sql), m_pConnection.GetInterfacePtr(),
   adOpenDynamic, adLockOptimistic, adCmdText);  //執行SQL得到記錄集
得到記錄集數據時數據類型爲varient_t
varient_t m_dirno = m_pRecordset->GetFields()->GetItem((long)0)->Value;//類型號
所以類型轉換爲
CString sql;
_bstr_t(sql),
varient_t m_dirno
 得到的結果變CSting型:
CString   dirname=(TCHAR*)(_bstr_t)m_dirname ;
得到的結果變int型
 int  dirno=atoi((TCHAR*)(_bstr_t)m_dirno);


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