DataAdapter.FillSchema Méthode

Définition

Ajoute DataTable au DataSet spécifié.

Surcharges

FillSchema(DataSet, SchemaType, String, IDataReader)

Ajoute DataTable au DataSet spécifié.

FillSchema(DataSet, SchemaType)

Ajoute un DataTable 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 défini.

FillSchema(DataTable, SchemaType, IDataReader)

Ajoute DataTable au DataSet spécifié.

FillSchema(DataSet, SchemaType, String, IDataReader)

Ajoute DataTable au DataSet spécifié.

protected:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
Protected Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType, srcTable As String, dataReader As IDataReader) As DataTable()

Paramètres

dataSet
DataSet

DataTable à remplir depuis IDataReader.

schemaType
SchemaType

Une des valeurs de l'objet SchemaType.

srcTable
String

Le nom de la table source à utiliser pour le mappage de table.

dataReader
IDataReader

IDataReader à utiliser comme source de données lors du remplissage du DataTable.

Retours

DataTable[]

Référence à une collection d’objets DataTable qui ont été ajoutés à DataSet.

Voir aussi

S’applique à

FillSchema(DataSet, SchemaType)

Ajoute un DataTable 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 défini.

public:
 virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public:
 abstract cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public abstract System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Public MustOverride 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

DataTable[]

Objet DataTable qui contient les informations de schéma retournées par la source de données.

Implémente

Remarques

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

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

FillSchema configure également les PrimaryKey Propriétés et Constraints en fonction des règles suivantes :

  • Si une ou plusieurs colonnes clés primaires sont retournées par le SelectCommand , elles sont utilisées comme colonnes clés primaires pour le DataTable .

  • Si aucune colonne de clé primaire n’est retournée, mais que les colonnes uniques sont, les colonnes uniques sont utilisées comme clé primaire si, et uniquement si, toutes les colonnes uniques ne sont pas nulles. Si l’une des colonnes accepte la valeur null, un UniqueConstraint est ajouté à ConstraintCollection , mais 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 le DataTable .

Notes

Le magasin de données sous-jacent peut autoriser des attributs de colonne qui ne sont pas pris en charge dans un DataColumn , ce qui entraîne l’inconversion correcte de certains attributs de colonne. par exemple, SQL Server autorise une colonne d’identité avec un type de données tinyint, tandis qu’un DataColumn permet uniquement à Int16, Int32 et Int64 d’avoir la AutoIncrement propriété définie. FillSchema ignore silencieusement les cas où le DataColumn ne peut pas mettre en miroir avec précision la source de données et ne lève aucune exception.

Notez que les clés primaires et les contraintes uniques sont ajoutées à ConstraintCollection en 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 dans l’index cluster sont retournés. Pour retourner le nom 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 spécification des indicateurs de requête, consultez indicateurs (Transact-SQL)-requête.

Si le DataAdapter rencontre des colonnes dupliquées lors du remplissage d’un DataTable , il génère des noms pour les colonnes suivantes, à l’aide du modèle «ColumnName 1 », «ColumnName 2 », «ColumnName 3 », etc. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans en DataSet fonction du modèle « Column1 », « Column2 », et ainsi de suite. Lorsque plusieurs jeux de résultats sont ajoutés à DataSet chaque jeu de résultats est placé dans une table distincte. Les jeux de résultats supplémentaires sont nommés en ajoutant des valeurs intégrales au nom de table spécifié (par exemple, « table », « Table1 », « Table2 », etc.). Les applications qui utilisent des noms de colonnes et de tables doivent s’assurer que les conflits avec ces modèles de nommage ne se produisent pas.

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

Notes

lors du traitement des instructions SQL batch qui retournent plusieurs résultats, l’implémentation de FillSchema pour le Fournisseur de données .NET Framework pour OLE DB récupère les informations de schéma uniquement pour le premier résultat. Pour récupérer des informations de schéma pour plusieurs résultats, utilisez Fill avec le MissingSchemaAction défini sur AddWithKey .

Voir aussi

S’applique à

FillSchema(DataTable, SchemaType, IDataReader)

Ajoute DataTable au DataSet spécifié.

protected:
 virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable? FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
Protected Overridable Function FillSchema (dataTable As DataTable, schemaType As SchemaType, dataReader As IDataReader) As DataTable

Paramètres

dataTable
DataTable

DataTable à remplir depuis IDataReader.

schemaType
SchemaType

Une des valeurs de l'objet SchemaType.

dataReader
IDataReader

IDataReader à utiliser comme source de données lors du remplissage du DataTable.

Retours

DataTable

Objet DataTable qui contient les informations de schéma retournées par la source de données.

Voir aussi

S’applique à