从Access数据库中取出所有表名,不包括系统表

 

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();

posted on 2005-02-16 10:38  kary  阅读(645)  评论(0)    收藏  举报

导航