取得結構描述與結構描述集合
適用於:.NET Framework .NET .NET Standard
Microsoft SqlClient Data Provider for SQL Server 中的 SqlConnection 類別會實作 GetSchema 方法,此方法用於擷取目前所連接資料庫的結構描述資訊,而從 GetSchema 方法傳回的結構描述資訊則以 DataTable 形式表示。 GetSchema 方法是一種多載方法,可提供選擇性參數,以指定要傳回的結構描述集合及限制傳回的資訊量。
指定結構描述集合
GetSchema 方法的第一個選擇性參數是指定為字串的集合名稱。 結構描述集合有兩種型別:通用於所有提供者的通用結構描述集合與每個提供者特有的特定結構描述集合。
您可以藉由呼叫 GetSchema 方法 (不使用引數或使用結構描述集合名稱 "MetaDataCollections"),以查詢 Microsoft SqlClient Data Provider for SQL Server,以決定支援的結構描述集合清單。 這會傳回 DataTable,包括支援的結構描述集合清單、每個集合所支援的限制數目,以及集合所使用之識別項部分的數目。
擷取結構描述集合範例
下列範例示範如何使用 Microsoft SqlClient Data Provider for SQL Server SqlConnection 類別的 GetSchema 方法,擷取 AdventureWorks 範例資料庫中包含之所有資料表的結構描述資訊:
using System;
using System.Data;
using Microsoft.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source = localhost; Integrated Security = true; Initial Catalog = AdventureWorks";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
DataTable table = connection.GetSchema("Tables");
// Display the contents of the table.
DisplayData(table);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
}
private static void DisplayData(System.Data.DataTable table)
{
foreach (System.Data.DataRow row in table.Rows)
{
foreach (System.Data.DataColumn col in table.Columns)
{
Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);
}
Console.WriteLine("============================");
}
}
}