OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Método

Definição

Devolve informação do esquema de uma fonte de dados indicada por um GUID, e após aplicar as restrições especificadas.

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

Parâmetros

schema
Guid

Um dos OleDbSchemaGuid valores que especifica a tabela de esquema a devolver.

restrictions
Object[]

Um Object conjunto de valores de restrição. Estas são aplicadas pela ordem das colunas de restrição. Ou seja, o primeiro valor de restrição aplica-se à primeira coluna de restrição, o segundo valor de restrição aplica-se à segunda coluna de restrição, e assim sucessivamente.

Devoluções

A DataTable que contém a informação solicitada do esquema.

Exceções

O conjunto de restrições especificado é inválido.

O conjunto de linhas de esquema especificado não é suportado pelo fornecedor OLE DB.

-ou-

O schema parâmetro contém um valor de DbInfoLiterals e o restrictions parâmetro contém uma ou mais restrições.

Exemplos

O exemplo seguinte devolve uma lista de tabelas numa base de dados.

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

Observações

A tabela de esquema é devolvida como um DataTable que tem o mesmo formato do conjunto de linhas do esquema OLE DB especificado pelo schema parâmetro. Use o restrictions parâmetro para filtrar as linhas a serem devolvidas no DataTable (por exemplo, especificando restrições para nome da tabela, tipo, proprietário ou esquema). Ao passar valores no array, inclua strings vazias ou nulos para elementos do array que não contenham valores. Se passar um array vazio para restrictions, todas as linhas (uma para cada tabela) são devolvidas pela ordem padrão. Os valores no array correspondem à ordem das colunas na tabela de origem e DataTable. Cada elemento no array de restrições é comparado com o conteúdo da coluna correspondente no conjunto de linhas do esquema. Por exemplo, o primeiro elemento no array de restrições é comparado com a primeira coluna do conjunto de linhas. Se um elemento de restrição não for nulo, apenas as linhas do conjunto de linhas do esquema que correspondem exatamente ao valor da restrição são adicionadas ao resultado DataTable.

O OleDbConnection método chama ao método OLE DB subjacente IDBSchemaRowset::GetRowset usando regras padrão de conversão em tempo de execução em linguagem comum. Para mais informações, consulte Tipos de Dados COM.

Pode obter informação sobre literais usando DbInfoLiterals. Isto fornece informação equivalente à chamada da interface OLE DB IDBInfo::GetLiteralInfo , ou do método ADO Connection.OpenSchema com a adSchemaDBInfoLiterals constante.

Aplica-se a

Ver também