由于这个问题已经困扰了我很久,请各位不腻赐教,十分感谢!
p_recordset->Open((_bstr_t)lpsql,p_con.GetInterfacePtr(),adOpenKeyset,adLockOptimistic, 
adCmdText);这些代码我写在一个CDB类中,专门用来操作DB,其中有在类声明中定义:_ConnectionPtr p_con和_RecordsetPtr p_recordset,在这个类中有写了一个ConnectDB的成员Funtion,当我在另外一Funtion中想实现查询数的功能,当使用p_recordset打开并获得数据时出现异常:0xC000005:Acess Violution请各位帮忙回回贴子,十分感谢,因这源代码放在公司的电脑上就暂时没贴出来,请各位见谅!

解决方案 »

  1.   

    p_con连接数据库的代码
    lpsql
      

  2.   

    先调试看一下p_recordset指针有地址没,不要是0xcdcdcdcd或0x00000000
      

  3.   

    0xC000005:Acess   Violution 
    这种错误都是指针无效的错误,检查一下你的p_recordset的值
    估计就是他出的问题
      

  4.   

    难道之前没有初始化?m_pRecordset.CreateInstance("ADODB.Recordset");
      

  5.   

    非常感谢大家的回复,你们所说的方法我有特别注意过,但是还是不行,后来我发现好象是_ConnectionPtr & _RecordsetPtr的定义位置有问题,我将它们定义在类CDB的CPP文件中就可以正常使用了,之前是放在CDB类的声明中,谢谢!
      

  6.   

    我也出现了这个错误,但是好象把_RecordsetPtr声明在.CPP文件中还是有0xc0000005错误.
    可能问题的关键不在_RecordsetPtr是否是类的成员变量和全局变量.
    ................