📄 csdn_文档中心_获取access2000数据库中的所有表的名称(vc + ado).htm
字号:
<TR>
<TD align=middle bgColor=#fafafa class=td1 vAlign=top width=150><BR>
<SCRIPT
src="CSDN_文档中心_获取ACCESS2000数据库中的所有表的名称(vc + ado).files/microsoft.js"></SCRIPT>
</TD>
<TD align=middle width=620>
<TABLE bgColor=#eeeeee border=0 cellPadding=0 cellSpacing=0 width=600>
<TBODY>
<TR bgColor=#ffffff>
<TD align=middle height=10 width=50></TD>
<TD align=right><A href="http://www.csdn.net/">CSDN</A> - <A
href="http://www.csdn.net/develop/">文档中心</A> - <FONT
color=#003399>Visual C++</FONT> </TD></TR>
<TR>
<TD align=middle height=5></TD>
<TD align=middle width=500></TD></TR>
<TR>
<TD align=middle bgColor=#003399 height=10><FONT
color=#ffffff>标题</FONT></TD>
<TD><B> 获取ACCESS2000数据库中的所有表的名称(vc +
ado)</B> taianmonkey(原作) </TD></TR>
<TR>
<TD align=middle height=5></TD>
<TD align=middle width=500></TD></TR>
<TR>
<TD align=middle bgColor=#003399><FONT color=#ffffff>关键字</FONT></TD>
<TD width=500> vc + ado</TD></TR>
<TR>
<TD align=middle height=5></TD>
<TD align=middle width=500></TD></TR></TBODY></TABLE><!--文章说明信息结束//-->
<TABLE border=0 width=600>
<TBODY>
<TR>
<TD align=left><BR>
<P> void OpenSchemaX(TCHAR
*TableName)<BR>{<BR> HRESULT hr = S_OK;</P>
<P> ::CoInitialize(NULL);
//初始化Com<BR> <BR> IADORecordBinding *picRs =
NULL;<BR> <BR> _RecordsetPtr
pRstSchema("ADODB.Recordset");<BR> _ConnectionPtr
pConnection("ADODB.Connection"
);<BR> <BR> <BR> pConnection->ConnectionString =
TableName;<BR> pConnection->Provider =
"Microsoft.Jet.OLEDB.4.0";<BR> <BR> try<BR>
{<BR> pConnection->Open(pConnection->ConnectionString,
"", "",
adModeUnknown);<BR> pRstSchema->QueryInterface(<BR> __uuidof(IADORecordBinding),
(LPVOID*)&picRs);<BR> <BR>
pRstSchema =
pConnection->OpenSchema(adSchemaTables);//枚举表的名称处理<BR> <BR>
while(!(pRstSchema->EndOfFile))<BR>
{<BR> CString
strTableType;<BR> <BR>
_bstr_t table_name =
pRstSchema->Fields-><BR>
GetItem("TABLE_NAME")->Value;//获取表的名称<BR> <BR>
_bstr_t table_type =
pRstSchema->Fields-><BR>
GetItem("TABLE_TYPE")->Value;//获取表的类型<BR> <BR> <BR>
strTableType.Format("%s",(LPCSTR)
table_type);<BR> <BR> if(!lstrcmp(strTableType,_T("TABLE")))<BR>
{<BR> m_strList.AddString((LPCSTR)
table_name);//添加表的名称<BR> }<BR> <BR>
pRstSchema->MoveNext();<BR>
}<BR> // Clean up objects
before
exit.<BR> <BR>
pRstSchema->Close();<BR>
pConnection->Close();<BR>
}<BR> <BR> catch (_com_error
&e)<BR>
{<BR> // Notify the user
of errors if any.<BR> //
Pass a connection pointer accessed from the
Connection.
<BR>
PrintProviderError(pConnection);<BR>
PrintComError(e);<BR>
}<BR> CoUninitialize();<BR>}</P>
<P>void PrintProviderError(_ConnectionPtr
pConnection)<BR>{<BR> ErrorPtr pErr =
NULL;<BR> <BR> if(
(pConnection->Errors->Count) > 0)<BR>
{<BR> long nCount =
pConnection->Errors->Count;<BR>
// Collection ranges from 0 to nCount
-1.<BR> for(long i = 0;i
< nCount;i++)<BR>
{<BR>
pErr =
pConnection->Errors->GetItem(i);<BR> CString
strError;<BR> strError.Format("Error number:
%x\t%s", pErr->Number,
pErr->Description);<BR> AfxMessageBox(strError);<BR>
}<BR> }<BR>}</P>
<P>void PrintComError(_com_error &e)<BR>{<BR> _bstr_t
bstrSource(e.Source());<BR> _bstr_t
bstrDescription(e.Description());<BR> <BR> //
Print COM errors. <BR> CString
strError;<BR> strError.Format("Error number: Description =
%s\tCode meaning = %s",(LPCSTR) bstrDescription,
e.ErrorMessage());<BR> AfxMessageBox(strError);<BR>}</P>
<P> </P>
<P>调用方法:</P>
<P> CString strFileName;<BR> TCHAR
FileName[MAX_PATH];<BR> TCHAR bigBuff[2048] = _T(""); //
maximum common dialog buffer size<BR> TCHAR szFilter[] =
_T("Text Files (*.mdb)|*.mdb|All Files
(*.*)|*.*||");<BR> CFileDialog dlg(TRUE, NULL,
NULL,<BR> OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT,
szFilter);</P>
<P> // Modify OPENFILENAME members directly to point to
bigBuff<BR> dlg.m_ofn.lpstrFile =
bigBuff;<BR> dlg.m_ofn.nMaxFile = sizeof(bigBuff);</P>
<P> if(IDOK == dlg.DoModal()
)<BR> {<BR> strFileName =
dlg.GetPathName();<BR> lstrcpy(FileName,strFileName);<BR> OpenSchemaX(FileName);<BR> }<BR></P><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><BR>
<TABLE align=center bgColor=#006699 border=0 cellPadding=0 cellSpacing=0
width=770>
<TBODY>
<TR bgColor=#006699>
<TD align=middle bgColor=#006699 id=white><FONT
color=#ffffff>对该文的评论</FONT></TD>
<TD align=middle>
<SCRIPT
src="CSDN_文档中心_获取ACCESS2000数据库中的所有表的名称(vc + ado).files/readnum.htm"></SCRIPT>
</TD></TR></TBODY></TABLE><BR>
<DIV align=center>
<TABLE align=center bgColor=#cccccc border=0 cellPadding=2 cellSpacing=1
width=770>
<TBODY>
<TR>
<TH bgColor=#006699 id=white><FONT
color=#ffffff>我要评论</FONT></TH></TR></TBODY></TABLE></DIV>
<DIV align=center>
<TABLE border=0 width=770>
<TBODY>
<TR>
<TD>你没有登陆,无法发表评论。 请先<A
href="http://www.csdn.net/member/login.asp?from=/Develop/read_article.asp?id=27203">登陆</A>
<A
href="http://www.csdn.net/expert/zc.asp">我要注册</A><BR></TD></TR></TBODY></TABLE></DIV><BR>
<HR noShade SIZE=1 width=770>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=500>
<TBODY>
<TR align=middle>
<TD height=10 vAlign=bottom><A
href="http://www.csdn.net/intro/intro.asp?id=2">网站简介</A> - <A
href="http://www.csdn.net/intro/intro.asp?id=5">广告服务</A> - <A
href="http://www.csdn.net/map/map.shtm">网站地图</A> - <A
href="http://www.csdn.net/help/help.asp">帮助信息</A> - <A
href="http://www.csdn.net/intro/intro.asp?id=2">联系方式</A> - <A
href="http://www.csdn.net/english">English</A> </TD>
<TD align=middle rowSpan=3><A
href="http://www.hd315.gov.cn/beian/view.asp?bianhao=010202001032100010"><IMG
border=0 height=48
src="CSDN_文档中心_获取ACCESS2000数据库中的所有表的名称(vc + ado).files/biaoshi.gif"
width=40></A></TD></TR>
<TR align=middle>
<TD vAlign=top>百联美达美公司 版权所有 京ICP证020026号</TD></TR>
<TR align=middle>
<TD vAlign=top><FONT face=Verdana>Copyright © CSDN.net, Inc. All rights
reserved</FONT></TD></TR>
<TR>
<TD height=15></TD>
<TD></TD></TR></TBODY></TABLE></DIV>
<DIV></DIV><!--内容结束//--><!--结束//--></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -