小弟才学ADO,有些问题不明白.
   _ConnectionPtr,_ReccordsetPtr是包含在msado15.dll中还是包含在comdef.h中?后者是作什么用的?
   _variant_t,_bstr_t这些东东是干啥的?在哪里定义的?到哪里找他们的帮助?
   LPCTSTR和CString有何区别?什么时候用前者?它们之间及和_variant_t之间如何转换?

解决方案 »

  1.   

    我也刚学,把我的一些感觉告诉你,希望有所帮助!
    _ConnectionPtr,_ReccordsetPtr是包含在msado15.dll中的。
    comdef.h定义了一些与com有关的头文件。
    _bstr_t是用来处里一些BSTR的东东的,variant_t我还没搞明白。
    定义可以在msdn里找。
    LPCTSTR是指针,CString是一个类。
    最后一个问题我说不清楚。
    会不会给我点分?知道的全说了。
    [email protected]
      

  2.   

    LPCTSTR是指针,CString是一个类。
    最后一个问题就是这样的,没什么好说的。
      

  3.   

    _ConnectionPtr,_RecordsetPtr是从msado15.dll中引入的,用
    #import "c:\program files\common files\system\ado\msado15.dll" rename ("EOF","adoEOF") no_namespace
    引入msado15.dllcomdef.h定义了一些与com有关的头文件。
    _bstr_t是用来方便处理BSTR的东西,定义在comutil.h中
    _variant_t是方便处理VARIANT类型的一个东西,也是定义在comutil.h中
    LPCTSTR就是const char *指针,CString是一个类。CString str;
    LPCTSTR p = (LPCTSTR)str;str = p;
      

  4.   

    _variant_t是VARIANT的包装类,他完成很多用VARIANT时需要手工编程实现的工作
      

  5.   

    CString可以先转换成_bstr_t,再转换成_variant_t
      

  6.   

    同意oldworm(oldworm)的说法,你需要其他ADO编程资料吗?留个信箱我发给你!
      

  7.   

    感谢各位的指点,可不可以再讲一下BSTR和VARIANT?
      zlxcjy(晚霞) ,我的email:[email protected] thank you.
      

  8.   

    VARIANT其实是一个联合
    可以有多种数据类型
    BSTR在32位windows上是一个Unicode string转换:
    BSTR xxx = (_bstr_t)Variant.pcVal;
    Variant.pcVal = (char*)bstr;