OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna informações de esquema de uma fonte de dados, conforme indicado por um GUID e depois de 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);
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 valores de OleDbSchemaGuid que especifica a tabela de esquema a ser retornada.
- restrictions
- Object[]
Uma matriz Object de valores de restrição. Eles são aplicados na ordem das colunas de restrição. Isto é, o primeiro valor da restrição se aplica à primeira coluna de restrição, o segundo valor da restrição se aplica à segunda coluna de restrição e assim por diante.
Retornos
Um DataTable que contém as informações de esquema solicitadas.
Exceções
O conjunto de restrições especificado é inválido.
O OleDbConnection está fechado.
O conjunto de linhas do esquema especificado não tem suporte do provedor OLE DB.
- ou -
O parâmetro schema
contém um valor de DbInfoLiterals e o parâmetro restrictions
contém uma ou mais restrições.
Exemplos
O exemplo a seguir retorna uma lista de tabelas em um banco 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
Comentários
A tabela de esquema é retornada como um DataTable que tem o mesmo formato que o conjunto de linhas de esquema OLE DB especificado pelo schema
parâmetro . Use o restrictions
parâmetro para filtrar as linhas a serem retornadas no DataTable (por exemplo, especificando restrições para nome da tabela, tipo, proprietário ou esquema). Quando você passa valores na matriz, inclua cadeias de caracteres vazias ou nulos para elementos de matriz que não contêm valores. Se você passar uma matriz vazia para restrictions
, todas as linhas (uma para cada tabela) serão retornadas na ordem padrão. Os valores na matriz correspondem à ordem das colunas na tabela de origem e DataTable. Cada elemento na matriz de restrições é comparado com o conteúdo da coluna correspondente no conjunto de linhas de esquema. Por exemplo, o primeiro elemento na matriz de restrições é comparado à primeira coluna no conjunto de linhas. Se um elemento de restrição não for nulo, somente as linhas do conjunto de linhas de esquema que correspondem exatamente ao valor da restrição serão adicionadas ao resultante DataTable.
O OleDbConnection método chama o método OLE DB IDBSchemaRowset::GetRowset subjacente usando regras de conversão padrão do Common Language Runtime. Para obter mais informações, consulte Tipos de dados COM.
Você pode recuperar informações sobre literais usando DbInfoLiterals. Isso fornece informações equivalentes a chamar a interface OLE DB IDBInfo::GetLiteralInfo ou o método Connection.OpenSchema do ADO com a adSchemaDBInfoLiterals
constante.