Condividi tramite


OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Metodo

Definizione

Restituisce informazioni di schema da un'origine dati come indicato da un GUID e dopo l'applicazione delle restrizioni specificate.

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

Parametri

schema
Guid

Uno dei valori di OleDbSchemaGuid che specifica la tabella dello schema da restituire.

restrictions
Object[]

Matrice Object di valori di restrizione. I valori sono applicati secondo l'ordine delle colonne di restrizione. Ovvero, il primo valore della restrizione si applica alla prima colonna di limitazione, il secondo valore della restrizione si applica alla seconda colonna di limitazione e così via.

Restituisce

Classe DataTable che contiene le informazioni richieste sullo schema.

Eccezioni

Il gruppo di restrizioni specificate non è valido.

Il rowset dello schema specificato non è supportato dal provider OLE DB.

-oppure-

Il parametro schema contiene un valore di DbInfoLiterals e il parametro restrictions contiene una o più restrizioni.

Esempio

Nell'esempio seguente viene restituito un elenco di tabelle in un database.

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

Commenti

La tabella dello schema viene restituita come oggetto DataTable con lo stesso formato del set di righe dello schema OLE DB specificato dal schema parametro . Usare il restrictions parametro per filtrare le righe da restituire in DataTable , ad esempio specificando restrizioni per il nome della tabella, il tipo, il proprietario o lo schema. Quando si passano valori nella matrice, includere stringhe vuote o valori Null per gli elementi della matrice che non contengono valori. Se si passa una matrice vuota a restrictions, tutte le righe (una per ogni tabella) vengono restituite nell'ordine predefinito. I valori nella matrice corrispondono all'ordine delle colonne nella tabella di origine e DataTable. Ogni elemento nella matrice di restrizioni viene confrontato con il contenuto della colonna corrispondente nel set di righe dello schema. Ad esempio, il primo elemento nella matrice di restrizioni viene confrontato con la prima colonna nel set di righe. Se un elemento di restrizione non è Null, vengono aggiunte solo righe del set di righe dello schema che corrispondono esattamente al valore della restrizione all'oggetto risultante DataTable.

Il OleDbConnection metodo chiama il metodo OLE DB IDBSchemaRowset::GetRowset sottostante usando le regole di conversione standard di Common Language Runtime. Per altre informazioni, vedere Tipi di dati COM.

È possibile recuperare informazioni sui valori letterali usando DbInfoLiterals. In questo modo vengono fornite informazioni equivalenti alla chiamata all'interfaccia OLE DB IDBInfo::GetLiteralInfo o al metodo ADO Connection.OpenSchema con la adSchemaDBInfoLiterals costante .

Si applica a

Vedi anche