怎样获得一个access数据库中所有的表格名称。

meetbeijing2008 2003-06-25 09:15:15
怎样获得一个access数据库中所有的表格名称。
...全文
33 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2003-06-25
  • 打赏
  • 举报
回复
oops, sorry, I opened too many windows, :-)
saucer 2003-06-25
  • 打赏
  • 举报
回复
using the GetOleDbSchemaTable() method, just change the connection string to that for Access
http://expert.csdn.net/Expert/topic/1333/1333347.xml?temp=.4032251

or try to run a query like

SELECT MSysObjects.Name
FROM MSysObjects
WHERE ((Left([name],4)<>"MSys") AND ((MSysObjects.Type)=1))
ORDER BY MSysObjects.Name;
TheAres 2003-06-25
  • 打赏
  • 举报
回复
看我的这个例子;

using System;
using System.Data;
using System.Data.OleDb;


string ConnectionString = @"Provider=Microsoft.Jet.OleDB.4.0;Data Source=C:\Program Files\Microsoft Office\Office\1033\FPNWIND.mdb";
OleDbConnection conn = new OleDbConnection(ConnectionString);
conn.Open();

DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new object[] {null, null, null, "TABLE"});
foreach (DataRow dr in schemaTable.Rows)
{
//表名
Console.WriteLine(dr["TABLE_NAME"]);

//字段名
DataTable columnTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,
new object[] {null, null, dr["TABLE_NAME"].ToString(),null});


foreach(DataRow dr2 in columnTable.Rows)
{
Console.WriteLine(" {0}", dr2["COLUMN_NAME"]);
}

}
conn.Close();

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧