OleDbConnection.GetOleDbSchemaTable(Guid, Object[]) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
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
Paramètres
- schema
- Guid
Une des valeurs OleDbSchemaGuid qui spécifie la table de schéma à retourner.
- restrictions
- Object[]
Tableau de Object de valeurs de restriction. Ces dernières s'appliquent dans l'ordre des colonnes de restriction. Autrement dit, la première valeur de restriction s'applique à la première colonne de restriction, la deuxième valeur de restriction s'applique à la deuxième colonne de restriction et ainsi de suite.
Retours
DataTable qui contient les informations de schéma demandées.
Exceptions
Le jeu de restrictions spécifié n'est pas valide.
Le OleDbConnection est fermé.
Le jeu de lignes du schéma spécifié n'est pas pris en charge par le fournisseur OLE DB.
- ou -
Le paramètre schema
contient une valeur de DbInfoLiterals et le paramètre restrictions
contient une ou plusieurs restrictions.
Exemples
L’exemple suivant retourne une liste de tables dans une base de données.
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 sous la forme d’un DataTable qui a le même format que l’ensemble de lignes de schéma OLE DB spécifié par le schema
paramètre. Utilisez le restrictions
paramètre pour filtrer les lignes à retourner dans (par exemple, en spécifiant des restrictions pour le DataTable nom de la table, le type, le propriétaire ou le schéma). Lorsque vous passez des valeurs dans le tableau, incluez des chaînes vides ou des valeurs null pour les éléments du tableau qui ne contiennent pas de valeurs. Si vous passez un tableau vide à restrictions
, toutes les lignes (une pour chaque table) sont retournées dans l’ordre par défaut. Les valeurs du tableau correspondent à l’ordre des colonnes dans la table source et DataTable. Chaque élément du tableau de restrictions est comparé au contenu de la colonne correspondante dans l’ensemble de lignes du schéma. Par exemple, le premier élément du tableau de restrictions est comparé à la première colonne de l’ensemble de lignes. Si un élément de restriction n’est pas null, seules les lignes de l’ensemble de lignes de schéma qui correspondent exactement à la valeur de la restriction sont ajoutées au résultat DataTable.
La OleDbConnection méthode appelle la méthode OLE DB IDBSchemaRowset ::GetRowset sous-jacente à l’aide des règles de conversion standard du Common Language Runtime. Pour plus d’informations, consultez Types de données COM.
Vous pouvez récupérer des informations sur les littéraux à l’aide de DbInfoLiterals. Cela fournit des informations équivalentes à l’appel de l’interface OLE DB IDBInfo ::GetLiteralInfo ou de la méthode ADO Connection.OpenSchema avec la adSchemaDBInfoLiterals
constante.