OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca informacje o schemacie ze źródła danych wskazanego przez identyfikator GUID, a po wprowadzeniu określonych ograniczeń.
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
Parametry
- schema
- Guid
OleDbSchemaGuid Jedna z wartości określających tabelę schematów do zwrócenia.
- restrictions
- Object[]
Tablica Object wartości ograniczeń. Są one stosowane w kolejności kolumn ograniczeń. Oznacza to, że pierwsza wartość ograniczenia ma zastosowanie do pierwszej kolumny ograniczeń, druga wartość ograniczenia ma zastosowanie do drugiej kolumny ograniczeń itd.
Zwraca
Element DataTable zawierający żądane informacje o schemacie.
Wyjątki
Określony zestaw ograniczeń jest nieprawidłowy.
Element OleDbConnection jest zamknięty.
Określony zestaw wierszy schematu nie jest obsługiwany przez dostawcę OLE DB.
-lub-
Parametr schema
zawiera wartość i DbInfoLiteralsrestrictions
parametr zawiera co najmniej jedno ograniczenie.
Przykłady
Poniższy przykład zwraca listę tabel w bazie danych.
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
Uwagi
Tabela schematu jest zwracana jako DataTable obiekt, który ma taki sam format jak zestaw wierszy schematu OLE DB określony przez schema
parametr . Użyj parametru , aby filtrować wiersze, które mają być zwracane w elemecie restrictions
DataTable (na przykład przez określenie ograniczeń dotyczących nazwy tabeli, typu, właściciela lub schematu). Po przekazaniu wartości w tablicy należy uwzględnić puste ciągi lub wartości null dla elementów tablicy, które nie zawierają wartości. Jeśli przekażesz pustą tablicę do restrictions
, wszystkie wiersze (jeden dla każdej tabeli) zostaną zwrócone w kolejności domyślnej. Wartości w tablicy odpowiadają kolejności kolumn w tabeli źródłowej i DataTable. Każdy element w tablicy ograniczeń jest porównywany z zawartością odpowiedniej kolumny w zestawie wierszy schematu. Na przykład pierwszy element w tablicy ograniczeń jest porównywany z pierwszą kolumną w zestawie wierszy. Jeśli element ograniczenia nie ma wartości null, tylko wiersze z zestawu wierszy schematu, które dokładnie pasują do wartości ograniczenia, są dodawane do wynikowego DataTable.
Metoda OleDbConnection wywołuje podstawową metodę IDBSchemaRowset::GetRowset przy użyciu standardowych reguł konwersji środowiska uruchomieniowego języka wspólnego. Aby uzyskać więcej informacji, zobacz COM Data Types (Typy danych COM).
Informacje o literałach można pobrać przy użyciu polecenia DbInfoLiterals. Zapewnia to informacje równoważne wywołaniu interfejsu IDBInfo::GetLiteralInfo OLE DB lub metody ADO Connection.OpenSchema ze stałą adSchemaDBInfoLiterals
.