2010/01/14

[C#]テーブルの一覧を取得する

このエントリーをはてなブックマークに追加

データベースのテーブルの一覧を取得する

OleDbConnectionのGetSchemaを使用してテーブルの一覧を取得する方法です。
下のソースコードはMDBを使った例です。
ソースコード
string mdbFile = @"db1.mdb";
string connectionString =
    "Provider='Microsoft.Jet.OLEDB.4.0';" +
    "Data Source='" + mdbFile + "';";

OleDbConnection connection = new OleDbConnection(connectionString);

try {
    connection.Open();
    DataTable table = connection.GetSchema("Tables",new string[4]{null,null,null,"TABLE"});

    foreach (DataRow row in table.Rows) {
        Console.WriteLine(row["TABLE_NAME"].ToString());
    }
}catch(Exception ex){
    Console.WriteLine(ex.Message);
}finally{
    if (connection.State == ConnectionState.Open) {
        connection.Close();
    }
}

テーブルの列名を取得する

列名を取得するには、下記のように指定します。
ソースコード
string tableName = "ExampleTable"; 
DataTable table = connection.GetSchema("Columns", new string[4] { null, null, tableName, null });

foreach (DataRow row in table.Rows) {
    Console.WriteLine(row["COLUMN_NAME"].ToString());
}

0 件のコメント :

コメントを投稿