📄 subject_57889.htm
字号:
<p>
序号:57889 发表者:紫君 发表日期:2003-10-28 20:15:42
<br>主题:关于创建ADO的数据库连接代码的疑问
<br>内容:在ADODemoView.h文件的类声明里加入如下代码:<BR>public:<BR>_ConnectionPtr m_connection;<BR>_RecordsetPtr m_recordset;<BR>_CommandPtr m_command;<BR>private:<BR>CString m_strSource; //存放用于数据库连接的连接字符串<BR>BOOL m_fConnected; //标志数据库连接成功的变量<BR><BR>在OnInitialUpadate函数里创建ADO的数据库连接和记录集对象,代码如下:<BR>HRESULT hr;<BR>_bstr_t source("Driver={SQL Server};Server=JACKIE;\<BR> Uid=sa;Pwd=jackie1127;Database=membership");<BR>_bstr_t user("admin"); <BR>_bstr_pwd("");<BR>try{<BR> hr=m_connection.CreateInstance(_uuidof(Connection));<BR> //_uuidof(Connection)是什么意思?Connection是什么?<BR> if(SUCCEEDED(hr))<BR> hr=m_connection->Open(source,user,pwd,16);//user与pwd与source里的Uid和Pwd有什么不同,分别代表什么<BR> if(SUCCEEDED(hr))<BR> hr=m_recordset.CreateInstance(_uuidof(Recordset));//Recordset是什么?<BR> if(SUCCEEDED(hr))<BR> m_fConnected=TRUE;<BR> else<BR> m_fConnected=FALSE;<BR> }<BR>catch(_com_error &e){<BR> MessageBox(e.ErrorMessage());<BR> m_fConnected=FALSE;<BR> }<BR>if(!m_fConnected) MessageBox("ADO数据库初始化失败!");<BR>else m_strSource=(const char*)source;<BR><BR><BR><BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:michael 回复日期:2003-10-28 20:56:56
<br>内容: ADO其实是一个COM。_uuidof(Connection)是要获取Connection对象的GUID<BR> Recordset是数据集对象。m_recordset是智能指针的实例<BR>_ConnectionPtr <BR>_RecordsetPtr<BR>_CommandPtr <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>
<font color=red>答案被接受</font><br>回复者:hurtmanzc 回复日期:2003-10-28 22:39:49
<br>内容:ADO模型包含许多COM对象,其中Connection、Recordset、Command是最基本的三个,分别用于连接数据库、处理数据库的记录集、执行命令操作数据库。<BR>_ConnectionPtr、_RecordsetPtr、_CommandPtr是三个智能指针(也是ADO提供的接口),对Connection、Recordset、Command三个对象进行了封装,按COM规范我们不能直接访问COM对象,而只能通过ADO接口(_ConnectionPtr、_RecordsetPtr、_CommandPtr)来访问COM对象(Connection、Recordset、Command)。智能指针创建相应的COM对象时,需要以该COM对象的GUID(全局唯一标识符)值为参数,_uuid()函数可以返回一个COM对象的GUID值。<BR><BR>至于用户名和密码,source里的Uid和Pwd是你登录SQL服务器的用户名和密码,user与pwd应该是你登录NT服务器的用户名和密码。<BR><BR>ADO非常复杂,最好还是买本书看。
<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-10-29 09:00:02
<br>内容:多谢两位大侠<BR><BR>michael来这里领分<BR>http://www.vchelp.net/cndevforum/subject_view.asp?subject_id=57924&forum_id=73
<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 + -