如何简单的用c#获取access中指定数据库中的所有表名!求代码。。。

 我来答
Baby_原來
推荐于2017-11-22 · TA获得超过3402个赞
知道大有可为答主
回答量:1535
采纳率:94%
帮助的人:489万
展开全部

//C#获取Access数据库中的所有表名和列名
   

string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=E:\report20100819\report20100819.mdb";    
OleDbConnection Conn = new OleDbConnection(ConnectionString);    
Conn.Open();
DataTable shemaTable = Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });    
foreach (DataRow dr in shemaTable.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(dr2["COLUMN_NAME"]);     
    }    
}    
Conn.Close();

 

解释:
    “Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });”返回数据库中所有的数据表清单,返回值为DataTable。
    “Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, dr["TABLE_NAME"].ToString(), null });”返回指定数据表中所有的数据列清单,返回值为DataTable。

更多追问追答
追问
已经做好了,预期表名存在就不再创建,不存在才创建
追答
做好就行了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式