Partager via


IDataAdapter.FillSchema(DataSet, SchemaType) Méthode

Définition

Ajoute un DataTable appelé "Table" au DataSet spécifié et configure le schéma pour qu'il corresponde à celui de la source de données en se basant sur le SchemaType spécifié.

public:
 cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

Paramètres

dataSet
DataSet

DataSet à remplir avec le schéma à partir de la source de données.

schemaType
SchemaType

Une des valeurs de l'objet SchemaType.

Retours

Tableau d'objets DataTable qui contient les informations de schéma retournées par la source de données.

Remarques

La FillSchema méthode récupère le schéma de la source de données à l’aide de SelectCommand. L’objet de connexion associé à doit SelectCommand être valide, mais il n’a pas besoin d’être ouvert. Si la connexion est fermée avant FillSchema d’être appelée, elle est ouverte pour récupérer des données, puis fermée. Si la connexion est ouverte avant FillSchema d’être appelée, elle reste ouverte.

Une FillSchema opération ajoute un DataTable à la destination DataSet. Il ajoute ensuite des colonnes au DataColumnCollection de DataTable et configure les propriétés suivantes DataColumn si elles existent au niveau de la source de données :

FillSchema configure également les PrimaryKey propriétés et Constraints selon les règles suivantes :

  • Si une ou plusieurs colonnes de clé primaire sont retournées par , SelectCommandelles sont utilisées comme colonnes de clé primaire pour .DataTable

  • Si aucune colonne clé primaire n’est retournée, mais que les colonnes uniques le sont, les colonnes uniques sont utilisées comme clé primaire si toutes les colonnes uniques ne peuvent pas être null. Si l’une des colonnes peut avoir la valeur Null, un UniqueConstraint est ajouté à , ConstraintCollectionmais la PrimaryKey propriété n’est pas définie.

  • Si les colonnes de clé primaire et les colonnes uniques sont retournées, les colonnes de clé primaire sont utilisées comme colonnes de clé primaire pour .DataTable

Notez que les clés primaires et les contraintes uniques sont ajoutées à en ConstraintCollection fonction des règles précédentes, mais que d’autres types de contraintes ne sont pas ajoutés.

Si un index cluster unique est défini sur une ou plusieurs colonnes d’une table SQL Server et que la contrainte de clé primaire est définie sur un ensemble distinct de colonnes, les noms des colonnes de l’index cluster sont retournés. Pour renvoyer le ou les noms des colonnes de clé primaire, utilisez un indicateur de requête avec l’instruction SELECT qui spécifie le nom de l’index de clé primaire. Pour plus d’informations sur la façon de spécifier des indicateurs de requête, consultez Indicateurs (Transact-SQL) - Requête.

Si le IDataAdapter rencontre des colonnes en double lors du remplissage d’un DataTable, il génère des noms pour les colonnes successives, à l’aide du modèle « columnname1 », « columnname2 », « columnname3 », etc. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet en fonction du modèle « Column1 », « Column2 », etc. Lorsque plusieurs jeux de résultats sont ajoutés à , DataSetchaque jeu de résultats est placé dans une table distincte. D’autres jeux de résultats sont nommés en ajoutant des valeurs intégrales au nom de table spécifié (par exemple, « Table », « Table1 », « Table2 », etc.). Les applications doivent faire preuve de prudence lors de l’utilisation de noms de colonnes et de tables pour s’assurer que les conflits avec ces modèles d’affectation de noms ne se produisent pas.

FillSchema ne retourne aucune ligne. Utilisez la Fill méthode pour ajouter des lignes à un DataTable.

S’applique à

Voir aussi