OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar schemainformation från en datakälla som anges av ett GUID och efter att de angivna begränsningarna har införts.
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
Parametrar
- schema
- Guid
Ett av de OleDbSchemaGuid värden som anger vilken schematabell som ska returneras.
- restrictions
- Object[]
En Object matris med begränsningsvärden. Dessa tillämpas i ordning på begränsningskolumnerna. Det innebär att det första begränsningsvärdet gäller för den första begränsningskolumnen, det andra begränsningsvärdet gäller för den andra begränsningskolumnen och så vidare.
Returer
En DataTable som innehåller den begärda schemainformationen.
Undantag
Den angivna uppsättningen begränsningar är ogiltig.
Är OleDbConnection stängd.
Den angivna schemaraduppsättningen stöds inte av OLE DB-providern.
-eller-
Parametern schema innehåller värdet och DbInfoLiterals parametern restrictions innehåller en eller flera begränsningar.
Exempel
Följande exempel returnerar en lista över tabeller i en databas.
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
Kommentarer
Schematabellen returneras som en DataTable som har samma format som ole db-schemaraduppsättningen som anges av parametern schema . Använd parametern restrictions för att filtrera de rader som ska returneras i DataTable (till exempel genom att ange begränsningar för tabellnamn, typ, ägare eller schema). När du skickar värden i matrisen ska du inkludera tomma strängar eller nullvärden för matriselement som inte innehåller värden. Om du skickar en tom matris till restrictionsreturneras alla rader (en för varje tabell) i standardordning. Värden i matrisen motsvarar ordningen på kolumnerna i källtabellen och DataTable. Varje element i begränsningsmatrisen jämförs med innehållet i motsvarande kolumn i schemaraduppsättningen. Det första elementet i begränsningsmatrisen jämförs till exempel med den första kolumnen i raduppsättningen. Om ett begränsningselement inte är null läggs endast rader från schemaraduppsättningen som exakt matchar värdet för begränsningen till i den resulterande DataTable.
Metoden OleDbConnection anropar den underliggande OLE DB IDBSchemaRowset::GetRowset-metoden med vanliga regler för språkkonvertering. Mer information finns i COM-datatyper.
Du kan hämta information om literaler med hjälp DbInfoLiteralsav . Detta ger information som motsvarar att anropa OLE DB IDBInfo::GetLiteralInfo-gränssnittet eller metoden ADO Connection.OpenSchema med konstanten adSchemaDBInfoLiterals .