C # get all table and column names in an Access database
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 ();
Explain:
"Conn.getoledbschematable (OleDbSchemaGuid.Tables, new object[] {null, NULL, NULL," TABLE "}); Returns the list of all data tables in the database, with a DataTable return value.
"Conn.getoledbschematable (OleDbSchemaGuid.Columns, new object[] {null, NULL, dr[" table_name "]. ToString (), null}); " Returns the list of all data columns in the specified data table, with the return value as a DataTable.
C # get all table and column names in an Access database