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

//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。

上一篇:Android Apollo MQTT入门


下一篇:OpenCV在C#中应用—OpenCVSharp