OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
GUID によって指定したデータ ソースのスキーマ情報を、指定した制約の適用後に返します。
public:
System::Data::DataTable ^ GetOleDbSchemaTable(Guid schema, cli::array <System::Object ^> ^ restrictions);
public System.Data.DataTable? GetOleDbSchemaTable (Guid schema, object?[]? restrictions);
public System.Data.DataTable GetOleDbSchemaTable (Guid schema, object[] restrictions);
member this.GetOleDbSchemaTable : Guid * obj[] -> System.Data.DataTable
Public Function GetOleDbSchemaTable (schema As Guid, restrictions As Object()) As DataTable
パラメーター
- schema
- Guid
取得するスキーマ テーブルを示す OleDbSchemaGuid 値の 1 つ。
- restrictions
- Object[]
制約値の Object 配列。 制約値は、制約列の順に適用されます。 つまり、最初の制限値は最初の制限列に、2 番目の制限値は 2 番目の制限列に、という形で適用されます。
戻り値
要求したスキーマ情報を格納した DataTable。
例外
指定された制約セットが無効です。
OleDbConnection が閉じています。
指定されたスキーマ行セットは、OLE DB プロバイダーでサポートされていません。
- または -
schema
パラメーターに DbInfoLiterals の値が格納され、restrictions
パラメーターに 1 つ以上の制約が格納されています。
例
次の例では、データベース内のテーブルの一覧を返します。
static DataTable GetSchemaTable(string connectionString)
{
using (OleDbConnection connection = new
OleDbConnection(connectionString))
{
connection.Open();
DataTable schemaTable = connection.GetOleDbSchemaTable(
OleDbSchemaGuid.Tables,
new object[] { null, null, null, "TABLE" });
return schemaTable;
}
}
Public Function GetSchemaTable(ByVal connectionString As String) _
As DataTable
Using connection As New OleDbConnection(connectionString)
connection.Open()
Dim schemaTable As DataTable = _
connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _
New Object() {Nothing, Nothing, Nothing, "TABLE"})
Return schemaTable
End Using
End Function
注釈
スキーマ テーブルは、schema
パラメーターで指定した OLE DB スキーマ行セットと同じ形式を持つ DataTable として返されます。 パラメーターを restrictions
使用して、 で DataTable 返される行をフィルター処理します (たとえば、テーブル名、型、所有者、またはスキーマの制限を指定します)。 値を配列で渡す場合、値を含まない配列要素には空の文字列または NULL を含めます。 に空の配列を restrictions
渡すと、すべての行 (テーブルごとに 1 行) が既定の順序で返されます。 配列内の値は、ソース テーブルと DataTableの列の順序に対応します。 制限配列の各要素は、スキーマ行セット内の対応する列の内容と比較されます。 たとえば、制限配列の最初の要素は、行セットの最初の列と比較されます。 制限要素が null でない場合、その制限の値と完全に一致するスキーマ行セットの行のみが、結果の DataTableに追加されます。
メソッドは OleDbConnection 、標準の共通言語ランタイム変換規則を使用して、基になる OLE DB IDBSchemaRowset::GetRowset メソッドを呼び出します。 詳細については、「 COM データ型」を参照してください。
を使用 DbInfoLiteralsしてリテラルに関する情報を取得できます。 これは、OLE DB IDBInfo::GetLiteralInfo インターフェイス、または定数を使用して ADO Connection.OpenSchema メソッドを呼び出すことと同等の情報を adSchemaDBInfoLiterals
提供します。
適用対象
こちらもご覧ください
.NET