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

📄 subject_64957.htm

📁 vc
💻 HTM
字号:
<p>
序号:64957 发表者:jasic 发表日期:2003-12-14 17:36:19
<br>主题:关于ado的几个问题机器困惑
<br>内容:我用ado和sqlserver连接时遇到几个比较困惑的问题。如下:<BR>我声明了_ConnectionPtr&nbsp;&nbsp;m_pConnection。<BR>1。 发现如果m_pConnection这个变量声明成一个成员变量,在本类的其他成员函数中初始化时 <BR>&nbsp;&nbsp;&nbsp;&nbsp;如m_pConnection=NULL ,系统就提示访问违例。结果没有办法,我只能将它声明成全局变<BR>&nbsp;&nbsp;&nbsp;&nbsp;量(我最讨厌全局变量了)。<BR>2。 如果我在成员函数中直接声明成一个局部变量,就可以使用,但是当这个函数return时,系<BR>&nbsp;&nbsp;&nbsp;&nbsp;统又提示访问违例。简直不可思议。高手释疑。<BR>3。我需要保留这个连接变量,所以不能把它设成一个局部变量的。请问怎么做。<BR>以上三个问题,请会的朋友帮忙啊!<BR><BR>程序如下:程序一返回就出错。<BR>BOOL CCMailDispatcherApp::ConnectDB() <BR>{&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;CString strConnectDBParam ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;UINT nCopyLength =&nbsp;&nbsp; 0 ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;const UINT iBufferLength = 500 ; <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;HRESULT hr;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;try<BR>&nbsp;&nbsp;&nbsp;&nbsp;{ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hr = m_pConnection.CreateInstance(&#34;ADODB.Connection&#34;);&nbsp;&nbsp;&nbsp;&nbsp; //创建Connection对象<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(SUCCEEDED(hr))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hr =m_pConnection-&gt;Open(&#34;Provider=MSDASQL.1; Persist Security Info=False;Data Source=ttt;Initial Catalog=ttt&#34;,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;&#34;,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#34;&#34;,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-1) ;<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;} <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;catch(_com_error e)///捕捉异常<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CString errormessage;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; errormessage.Format(&#34;连接数据库失败!\r\n错误信息:%s&#34;,e.ErrorMessage());<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AfxMessageBox(errormessage);///显示错误信息<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if (m_pConnection-&gt;State) <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_pConnection-&gt;Close() ;<BR>&nbsp;&nbsp;return TRUE ;<BR>} <BR>返回时出错。<BR><BR>2003-12-14 17:42:05

⌨️ 快捷键说明

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