佚名通过本文主要向大家介绍了ado连接数据库,mfc ado连接数据库,vc ado连接数据库,ado访问数据库,vb ado连接数据库等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: com中使用ado连接数据库遇到的问题
描述:
解决方案1:
描述:
请问哪位在com中用过ado连接数据库
程序中使用CoInitializeEx初始化并设置了两个_ConntionPtr,_Recordset类成员变量,运行后出现如下错误:
"0x77bfa61d"指令引用的"0x00000003"内存,该内存不能为"written"。要终止程序,请单击确定
我逐步执行,发现在_ConntionPtr,_Recordset类成员变量createinstance、open时编译发出警告音,这两个变量在类构造函数里面已经初始化了,而且在CoUninitialize之前调用函数释放这两个变量, 不知道为什么还是出错,请各位帮忙看看,谢谢!
解决方案1:
对,你的类的智能指针只能进行一次实例化,而且最好是放在构造函数里或者在初始化函数里.
如果多次对其进行实例化将会出错.
m_pConnection.CreateInstance(_uuidof(Connection));
m_pRecordset.CreateInstance(_uuidof(Recordset));
CoInitializeEx的问题,改成 COINIT_APARTMENTTHREADED
解决方案3: 改在Open之前实例化那两个指针。