⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_66800.htm

📁 vc
💻 HTM
字号:
<p>
序号:66800 发表者:libaogang 发表日期:2003-12-26 16:26:27
<br>主题:高手请帮忙!DLL中ADO在那里初始化COM库!
<br>内容:我在BOOL CMyDllApp::InitInstance() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your specialized code here and/or call the base class<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(!AfxOleInit())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox(&#34;Init Com Failure&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CoInitialize(NULL);<BR>&nbsp;&nbsp;&nbsp;&nbsp;return CWinApp::InitInstance();<BR>}<BR>初始化了COM,怎么在创建&nbsp;&nbsp;&nbsp;&nbsp;m_pRecordset.CreateInstance(&#34;ADODB.Recordset&#34;);时侯仍返回空值!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:zhangquan 回复日期:2003-12-26 19:59:20
<br>内容:你用了AfxOleInit(),还调用CoInitialize(NULL)干什么
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:kobo 回复日期:2003-12-26 22:07:31
<br>内容:我使用ADO步骤如下:<BR>1,在StdAfx.h中加入:<BR>#pragma warning(push)<BR>#pragma warning(disable : 4146)<BR>#import &#34;C:\Program Files\Common Files\System\Ado\msado15.dll &#34; no_namespace rename(&#34;EOF&#34;, &#34;IsEOF&#34;)<BR>#pragma warning(pop) <BR><BR>2,在App类中加入:<BR>BOOL CEmpMSApp::InitInstance()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(!AfxOleInit()) ///OLE初始化<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox(&#34;OLE初始化失败!&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;AfxEnableControlContainer();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 。。。<BR>}<BR>3,在CEmpMSView.h中加入:<BR>class CEmpMSView : public CListView<BR>{<BR>&nbsp;&nbsp; ......<BR><BR><BR>//声明ADO数据库操作对象<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;_ConnectionPtr m_connection;<BR>&nbsp;&nbsp;&nbsp;&nbsp;_RecordsetPtr m_recordset;<BR>&nbsp;&nbsp;&nbsp;&nbsp;_CommandPtr m_command;<BR><BR>private:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString m_strSource;//存放数据库连接字符串<BR>&nbsp;&nbsp;&nbsp;&nbsp;BOOL m_fConnected;//标志数据库连接成功与否的BOOL变量<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;......<BR>}<BR>4,在<BR>void CEmpMSView::OnInitialUpdate()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CListView::OnInitialUpdate();<BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;HRESULT hr;<BR>&nbsp;&nbsp;&nbsp;&nbsp;_bstr_t source(&#34;Driver={SQL Server};Server=DOLEPH;Uid=sa;Pwd=;Database=EmpMS&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;_bstr_t user(&#34;Administrator&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;_bstr_t pwd(&#34;buddy&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hr=m_connection.CreateInstance(_uuidof(Connection));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(SUCCEEDED(hr))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hr=m_connection-&gt;Open(source,user,pwd,16);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(SUCCEEDED(hr))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hr=m_recordset.CreateInstance(_uuidof(Recordset));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(SUCCEEDED(hr))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_fConnected=TRUE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_fConnected=FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;catch(_com_error &amp;e)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(e.ErrorMessage());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_fConnected=FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(!m_fConnected) MessageBox(&#34;ADO数据库初始化失败!&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;else m_strSource=(const char*)source;<BR><BR>}<BR><BR>...
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:libaogang 回复日期:2003-12-27 08:55:19
<br>内容:再请教个问题,按照上面的代码,编译是没有问题的,连接SqlServer数据库也可以返回数据库的名字,但在我查询的时侯总是出现数据库似乎已经关闭的错误,导致查询出错!返回不了结果!<BR>kobo 哥,有没有现成的ADO-SqlServer的程序,发一份给我!小弟不胜感激!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:libaogang 回复日期:2003-12-27 08:57:00
<br>内容:我的邮箱:qing_zhu1@sina.com
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -