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

Définition

Retourne les informations de schéma à partir d'une source de données de la manière indiquée par un GUID et après l'application des restrictions spécifiées.Returns schema information from a data source as indicated by a GUID, and after it applies the specified restrictions.

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

Paramètres

schema
Guid

Une des valeurs OleDbSchemaGuid qui spécifie la table de schéma à retourner.One of the OleDbSchemaGuid values that specifies the schema table to return.

restrictions
Object[]

Tableau de Object de valeurs de restriction.An Object array of restriction values. Ces dernières s'appliquent dans l'ordre des colonnes de restriction.These are applied in the order of the restriction columns. Cela signifie que la première valeur de restriction s'applique à la première colonne de restriction, que la deuxième valeur de restriction s'applique à la deuxième colonne de restriction, etc.That is, the first restriction value applies to the first restriction column, the second restriction value applies to the second restriction column, and so on.

Retours

DataTable qui contient les informations de schéma demandées.A DataTable that contains the requested schema information.

Exceptions

Le jeu de restrictions spécifié n'est pas valide.The specified set of restrictions is invalid.

Le jeu de lignes du schéma spécifié n'est pas pris en charge par le fournisseur OLE DB.The specified schema rowset is not supported by the OLE DB provider.

- ou --or- Le paramètre schema contient une valeur de DbInfoLiterals et le paramètre restrictions contient une ou plusieurs restrictions.The schema parameter contains a value of DbInfoLiterals and the restrictions parameter contains one or more restrictions.

Exemples

L’exemple suivant retourne une liste de tables dans une base de données.The following sample returns a list of tables in a 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

Remarques

La table de schéma est retournée en tant que DataTable qui a le même format que le OLE DB ensemble de lignes de schéma spécifié par le paramètre schema.The schema table is returned as a DataTable that has the same format as the OLE DB schema rowset specified by the schema parameter. Utilisez le paramètre restrictions pour filtrer les lignes à retourner dans la DataTable (par exemple, en spécifiant des restrictions pour le nom de la table, le type, le propriétaire ou le schéma).Use the restrictions parameter to filter the rows to be returned in the DataTable (for example, by specifying restrictions for table name, type, owner, or schema). Lorsque vous transmettez des valeurs dans le tableau, incluez des chaînes vides ou des valeurs NULL pour les éléments de tableau qui ne contiennent pas de valeurs.When you pass values in the array, include empty strings or nulls for array elements that do not contain values. Si vous transmettez un tableau vide à restrictions, toutes les lignes (une pour chaque table) sont retournées dans l’ordre par défaut.If you pass an empty array to restrictions, all rows (one for each table) are returned in default order. Les valeurs du tableau correspondent à l’ordre des colonnes dans la table source et DataTable.Values in the array correspond to the order of the columns in the source table and DataTable. Chaque élément du tableau de restrictions est comparé au contenu de la colonne correspondante dans l’ensemble de lignes de schéma.Each element in the restrictions array is compared with the content of the corresponding column in the schema rowset. Par exemple, le premier élément du tableau de restrictions est comparé à la première colonne de l’ensemble de lignes.For example, the first element in the restrictions array is compared to first column in the rowset. Si un élément restriction n’a pas la valeur null, seules les lignes de l’ensemble de lignes de schéma qui correspondent exactement à la valeur de la restriction sont ajoutées au DataTablerésultant.If a restriction element is not null, only rows from the schema rowset that exactly match the value of the restriction are added to the resulting DataTable.

La méthode OleDbConnection appelle la méthode sous-jacente OLE DB IDBSchemaRowset :: GetRowset à l’aide des règles de conversion de Common Language Runtime standard.The OleDbConnection method calls the underlying OLE DB IDBSchemaRowset::GetRowset method using standard common language runtime conversion rules. Pour plus d’informations, consultez types de données com.For more information, see COM Data Types.

Vous pouvez récupérer des informations sur les littéraux à l’aide de DbInfoLiterals.You can retrieve information about literals by using DbInfoLiterals. Cela fournit des informations équivalentes à l’appel de l’interface OLE DB IDBInfo :: GetLiteralInfo ou à la méthode ADO Connection. OpenSchema avec la constante adSchemaDBInfoLiterals.This provides information equivalent to calling the OLE DB IDBInfo::GetLiteralInfo interface, or the ADO Connection.OpenSchema method with the adSchemaDBInfoLiterals constant.

S’applique à

Voir aussi