VC進行數據庫開發,或網絡程序開發時,涉及到許多數據類型的轉換問題,我是感覺很難記憶,所以記下來,以便開發程序時查詢。重要的幾個類類型:
◆BSTR,VARIANT是COM中經常使用的數據類型,如果要進行COM方面的編程,比如ADO,OLEDB數據庫開發必須涉及到數據類型的轉換。經常要把C++數據類型轉成COM數據類型或者COM數據類型型轉成C++數據類型
◆ CComBSTR、_bstr_t,bstr_t是對BSTR的封裝
CComBSTR 是ATL對BSTR的封裝,_bstr_t是C++對BSTR的封裝,BSTR是32位指針,但並不直接指向字串的緩衝區
CComBSTR與_bstr_t對大量的操作符進行了重載,可以直接進行=,!=,==等操作,所以使用非常方便。
特別是_bstr_t,建議大家使用它。
◆ CComVariant,_variant_t,variant_t是VARIANT的包裝類
CComVariant是ATL對VARIANT的封裝,_variant_t,variant_t是c++對VARIANT的封裝。
對於不馬上賦值的VARIANT,最好先用VariantInit(VARIANTARG FAR* pvarg);進行初始化,其本質是將vt設置爲VT_EMPTY。
◆ CString是MFC的關於字符串包裝的類
cstring中定義了很多構造函數,並且重載了==、!=、<;、>;、<=、>=、=等運算符,可以方便進行字符串比較或賦值,
一、_variant_t轉cstring
1、 declare the variable
CString str; _variant_t varStr;
2、data conversion processing
str=(LPCSTR)(_bstr_t)varStr;
-------------------------------------未完,待續------------------------------------------