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

📄 subject_24708.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:24708 发表者:bhyqd 发表日期:2002-12-15 21:01:15
<br>主题:ADO, 爱你好难!
<br>内容:不知怎么回事,我在VC里用ADO就是不行!请高手指路,本人不胜感激!<BR>我使用ADO步骤如下:<BR>1,在StdAfx.h中加入:<BR>#import "D:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","EndOfFile")<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("OLE初始化失败!");<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("Driver={SQL Server};Server=DOLEPH;Uid=sa;Pwd=;Database=EmpMS");<BR>&nbsp;&nbsp;&nbsp;&nbsp;_bstr_t user("Administrator");<BR>&nbsp;&nbsp;&nbsp;&nbsp;_bstr_t pwd("buddy");<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("ADO数据库初始化失败!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;else m_strSource=(const char*)source;<BR><BR>}<BR><BR>5,试编译一下,哇!<BR><BR>f:\my_vc_file\empms\empmsview.h(27) : error C2146: syntax error : missing ';' before identifier 'm_connection'<BR>f:\my_vc_file\empms\empmsview.h(27) : error C2501: '_ConnectionPtr' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(27) : error C2501: 'm_connection' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(28) : error C2146: syntax error : missing ';' before identifier 'm_recordset'<BR>f:\my_vc_file\empms\empmsview.h(28) : error C2501: '_RecordsetPtr' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(28) : error C2501: 'm_recordset' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(29) : error C2146: syntax error : missing ';' before identifier 'm_command'<BR>f:\my_vc_file\empms\empmsview.h(29) : error C2501: '_CommandPtr' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(29) : error C2501: 'm_command' : missing storage-class or type specifiers<BR>EmpMSView.cpp<BR>f:\my_vc_file\empms\empmsview.h(27) : error C2146: syntax error : missing ';' before identifier 'm_connection'<BR>f:\my_vc_file\empms\empmsview.h(27) : error C2501: '_ConnectionPtr' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(27) : error C2501: 'm_connection' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(28) : error C2146: syntax error : missing ';' before identifier 'm_recordset'<BR>f:\my_vc_file\empms\empmsview.h(28) : error C2501: '_RecordsetPtr' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(28) : error C2501: 'm_recordset' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(29) : error C2146: syntax error : missing ';' before identifier 'm_command'<BR>f:\my_vc_file\empms\empmsview.h(29) : error C2501: '_CommandPtr' : missing storage-class or type specifiers<BR>f:\my_vc_file\empms\empmsview.h(29) : error C2501: 'm_command' : missing storage-class or type specifiers<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(69) : error C2065: '_bstr_t' : undeclared identifier<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(69) : error C2146: syntax error : missing ';' before identifier 'source'<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(69) : error C2065: 'source' : undeclared identifier<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(70) : error C2146: syntax error : missing ';' before identifier 'user'<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(70) : error C2065: 'user' : undeclared identifier<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(71) : error C2146: syntax error : missing ';' before identifier 'pwd'<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(71) : error C2065: 'pwd' : undeclared identifier<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(74) : error C2065: 'm_connection' : undeclared identifier<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(74) : error C2227: left of '-&gt;CreateInstance' must point to class/struct/union<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(74) : error C2065: 'Connection' : undeclared identifier<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(76) : error C2227: left of '-&gt;Open' must point to class/struct/union<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(78) : error C2065: 'm_recordset' : undeclared identifier<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(78) : error C2227: left of '-&gt;CreateInstance' must point to class/struct/union<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(78) : error C2065: 'Recordset' : undeclared identifier<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(84) : error C2061: syntax error : identifier '_com_error'<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(84) : error C2310: catch handlers must specify one type<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(86) : error C2065: 'e' : undeclared identifier<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(86) : error C2228: left of '.ErrorMessage' must have class/struct/union type<BR>F:\my_vc_file\EmpMS\EmpMSView.cpp(89) : error C2317: 'try' block starting on line '73' has no catch handlers<BR>Generating Code...<BR>Error executing cl.exe.<BR><BR>EmpMS.exe - 37 error(s), 0 warning(s)<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>
回复者:progame 回复日期:2002-12-15 22:13:45
<br>内容:(_uuidof(Connection));<BR>? 应该这样吧<BR>(_uuidof("Adodb.Connection"));
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:啊志 回复日期:2002-12-15 22:22:02
<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>
回复者:rabbit_nudt 回复日期:2002-12-16 19:54:37
<br>内容:__uuidof前应该有两个下划线吧。
<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>回复者:骆驼之沙漠王子 回复日期:2002-12-16 22:08:06
<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>
回复者:bhyqd 回复日期:2002-12-19 15:32:23
<br>内容:各位大虾,我的代码在VC.NET中编译竟然通过了,并能正常运行了,能否说明不是代码问题?!难道是VC6.0的错?(比尔.盖茨一只臭鞋扔了过来,我闪,我闪... ...)
<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 + -