📄 subject_63165.htm
字号:
<p>
序号:63165 发表者:海底人 发表日期:2003-12-01 22:28:04
<br>主题:如何动态连接数据库?请大虾,
<br>内容:我想用ADO动态连接数据库,<BR>_ConnectionPtr m_pConnection;<BR>m_pConnection.CreateInstance(__uuidof(Connection));<BR>CString m_cConnectStr;<BR>m_cConnectStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Demo.mdb";<BR><BR>m_pConnection->Open(m_cConnectStr,"","",adModeUnknown);<BR><BR>ADO里不可以先动态组成连接字符串,然后代入OPEN里出错?<BR>说不能将CString转换成Open里的参数类型,应该怎么做?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:YLZ 回复日期:2003-12-01 22:51:51
<br>内容:m_pConnection->Open((_bstr_t)m_cConnectStr,"","",adModeUnknown);<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>
回复者:海底人 回复日期:2003-12-01 23:43:33
<br>内容:m_pConnection->Open();<BR>里有什么参数?分别是什么类型的呢?如果还有密码应该怎么转换?谢谢YLZ
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:海底人 回复日期:2003-12-09 00:20:51
<br>内容:重新连接时会出错?<BR> void CDlg1::OnOK() {<BR> UpdateData(TRUE);<BR> CString m_cConnectStr;<BR> AfxOleInit(); // Mode COM endenl<BR> m_pConnection.CreateInstance(__uuidof(Connection));<BR> m_cConnectStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Demo.mdb";<BR> //to catch the connect error messages<BR> try{ <BR> // Open database <BR> m_pConnection->Open((_bstr_t)((_bstr_t) <BR> m_cConnectStr,"","",adModeUnknown);<BR> }<BR> catch(_com_error e){<BR> AfxMessageBox("Connect Faile! Please chack the dir of database file");<BR>}<BR>在EXIT里<BR>if(m_pConnection->State){<BR> m_pConnection->Close();<BR> m_pConnection= NULL;<BR> } <BR><BR>为何重新按OK后会出错说DEBUG ASSERTION FAILSED!<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>
回复者:wjb 回复日期:2003-12-09 08:19:53
<br>内容:AfxOleInit(); 语句执行多次会出错。<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>
回复者:海底人 回复日期:2003-12-09 22:18:44
<br>内容:应该放在什么位置呢?我是在OK处理时才连接数据库的。谢谢。
<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>回复者:wjb 回复日期:2003-12-10 08:12:47
<br>内容:AfxOleInit();放在程序启动的地方最好。<BR>或者在处理函数中也可以,但是保证只运行一次。<BR>一般放在app类的InitInstance函数中最好。<BR><BR>AfxOleInit();并不是ADO的内容,而是ADO是COM类型的,而AfxOleInit();是初始化COM运行环境的。<BR><BR>open设置:<BR>http://www.vchelp.net/cndevforum/subject_view.asp?subject_id=61896&forum_id=79<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>
回复者:okvc 回复日期:2003-12-10 16:21:39
<br>内容:http://www.vchelp.net/cndevforum/subject_view.asp?subject_id=61896&forum_id=
<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 + -