我也遇到过这样的问题 好象是_bstr_t转换的问题 我的解决方法是用 char[]数组替换CString  换了以后就没有问题了

解决方案 »

  1.   

    char str[100];
    memset(str,0,sizeof(str));
    strcat(str,strQuery);
    rec->Open(str,_variant_t((IDispatch*)m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText);//没问题了
      

  2.   

    使用recordset的open方法,函数的第二个参数可以直接写connection语句,干吗非要先生成一个connection对象?
      

  3.   

    connection 对象还有他用,另谢谢两位,今天没时间了。
    明天我试试。
    jinhaii,你也是第一次不成功,第二次成功了?
      

  4.   

    to jinhaii,这样不行,问题跟原来一样,第一次不成功,第二次成功,
    真是见鬼了。
      

  5.   

    你可以看一下msdn,看一下这是不是与ado的bug有关
      

  6.   

    http://seesi.top263.net
    上面有Ado的一个封装类,希望可以对你有帮助。
      

  7.   

    谢谢zhaotao0982,刚刚到msdn上面去看了一下,似乎ado2.7 已经有了,我用的是1.5,
    不过上面也没说有什么bug.
    谢谢seesi,我用的就是就是网上的封装类CDyndb,就是它出问题,如果不用反而没问题,真是
    太怪了。
      

  8.   

     使用m_pConnection->Open(_bstr_t(sConnStr),"","",adConnectUnspecified)来打开数据库。     
      

  9.   

    請高手幫忙看看http://www.csdn.net/expert/topic/483/483170.shtm