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);
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 定数で呼び出すことと同等の情報を提供します。