Compartir a través de


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

Definición

Devuelve información de esquema desde un origen de datos tal y como indica un GUID, y después de aplicar las restricciones 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

Uno de los valores OleDbSchemaGuid que especifica la tabla de esquema que se va a devolver.

restrictions
Object[]

Matriz de Object de valores de restricción. Se aplican en el orden de las columnas de restricción. Es decir, el primer valor de restricción se aplica a la primera columna de restricción, el segundo valor de restricción se aplica a la segunda columna de restricción, etc.

Devoluciones

Una DataTable que contiene la información de esquema solicitada.

Excepciones

El conjunto de restricciones especificado no es válido.

La clase OleDbConnection está cerrada.

El proveedor OLE DB no admite el conjunto de filas de esquema especificado.

o bien

El parámetro schema contiene un valor de DbInfoLiterals y el parámetro restrictions contiene una o varias restricciones.

Ejemplos

En el ejemplo siguiente se devuelve una lista de tablas de una base de datos.

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

Comentarios

La tabla de esquema se devuelve como que DataTable tiene el mismo formato que el conjunto de filas de esquema OLE DB especificado por el schema parámetro . Use el restrictions parámetro para filtrar las filas que se van a devolver en DataTable (por ejemplo, especificando restricciones para el nombre de tabla, el tipo, el propietario o el esquema). Al pasar valores en la matriz, incluya cadenas vacías o valores NULL para los elementos de matriz que no contengan valores. Si pasa una matriz vacía a restrictions, todas las filas (una para cada tabla) se devuelven en orden predeterminado. Los valores de la matriz corresponden al orden de las columnas de la tabla de origen y DataTable. Cada elemento de la matriz de restricciones se compara con el contenido de la columna correspondiente en el conjunto de filas de esquema. Por ejemplo, el primer elemento de la matriz de restricciones se compara con la primera columna del conjunto de filas. Si un elemento de restricción no es NULL, solo se agregan filas del conjunto de filas de esquema que coinciden exactamente con el valor de la restricción al resultante DataTable.

El OleDbConnection método llama al método SUBYACENTE IDBSchemaRowset::GetRowset mediante reglas de conversión estándar de Common Language Runtime. Para obtener más información, vea Tipos de datos COM.

Puede recuperar información sobre los literales mediante DbInfoLiterals. Esto proporciona información equivalente a llamar a la interfaz IDBInfo::GetLiteralInfo de OLE DB o al método Connection.OpenSchema de ADO con la adSchemaDBInfoLiterals constante .

Se aplica a

Consulte también