String accpath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+AppDomain.CurrentDomain.BaseDirectory.Substring(0,AppDomain.CurrentDomain.BaseDirectory.LastIndexOf("
//Debug//"))+"//test.mdb;Persist Security Info=False";//连接字符串
OleDbConnection conn = new OleDbConnection(accpath);//OLEDB连接
conn.Open();
DataTable dt = conn.GetSchema("Tables");//获取ACCESS数据库中所有的表/查询/宏/窗体/模块
for(int i=0;i<dt.Rows.Count;i++)
{
if(dt.Rows[i].ItemArray[3].ToString()=="TABLE")//判断是否是用户表
Console.Writeln(dt.Rows[i].ItemArray[2].ToString());
}
在SQL SERVER 中获取用户表的SQL语句是:
select name from sysobjects where type='U'
OleDbConnection conn = new OleDbConnection(accpath);//OLEDB连接
conn.Open();
DataTable dt = conn.GetSchema("Tables");//获取ACCESS数据库中所有的表/查询/宏/窗体/模块
for(int i=0;i<dt.Rows.Count;i++)
{
if(dt.Rows[i].ItemArray[3].ToString()=="TABLE")//判断是否是用户表
Console.Writeln(dt.Rows[i].ItemArray[2].ToString());
}
在SQL SERVER 中获取用户表的SQL语句是:
select name from sysobjects where type='U'

本文介绍如何使用C#通过OLEDB连接从ACCESS数据库中获取所有用户表的名称。通过建立连接字符串,打开数据库连接,然后利用GetSchema方法获取表格信息,遍历DataTable并筛选出用户表。

6012

被折叠的 条评论
为什么被折叠?



