Partager via


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)

Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs

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

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

Voir aussi

S’applique à

FillSchema(DataSet, SchemaType)

Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs

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

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 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 DataTableet 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 des colonnes uniques le sont, les colonnes uniques sont utilisées comme clé primaire si, et seulement si, toutes les colonnes uniques ne sont pas nuls. 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

Notes

Le magasin de données sous-jacent peut autoriser les attributs de colonne qui ne sont pas pris en charge dans un DataColumn, ce qui entraîne la non-traduction 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 autorise uniquement Int16, Int32 et Int64 à avoir la AutoIncrement propriété définie. FillSchemaignore silencieusement les cas où le DataColumn ne peut pas 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 à 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 spécification des indicateurs de requête, consultez Indicateurs (Transact-SQL) - Requête.

Si le DataAdapter rencontre des colonnes en double lors du remplissage d’un DataTable, il génère des noms pour les colonnes suivantes, à 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 au DataSet jeu de résultats, chaque 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 qui utilisent des noms de colonnes et de tables doivent 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.

Notes

Lors de la gestion 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 pour le premier résultat uniquement. Pour récupérer des informations de schéma pour plusieurs résultats, utilisez Fill avec la MissingSchemaAction valeur définie sur AddWithKey.

Voir aussi

S’applique à

FillSchema(DataTable, SchemaType, IDataReader)

Source:
DataAdapter.cs
Source:
DataAdapter.cs
Source:
DataAdapter.cs

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

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

Voir aussi

S’applique à