Partager via


DbDataAdapter.Fill Méthode

Définition

Remplit un DataSet ou un DataTable.

Surcharges

Nom Description
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)

Ajoute ou actualise les lignes d’une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide des DataSet noms de table source, de la chaîne de commande et du comportement des commandes.

Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)

Ajoute ou actualise des lignes dans une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide des noms et DataTable des DataSet noms.

Fill(DataSet, String, IDataReader, Int32, Int32)

Ajoute ou actualise des lignes dans une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide des noms et IDataReader des DataSetDataTablenoms.

Fill(DataSet, Int32, Int32, String)

Ajoute ou actualise des lignes dans une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide des noms et DataTable des DataSet noms.

Fill(Int32, Int32, DataTable[])

Ajoute ou actualise des lignes dans un ou plusieurs DataTable objets pour les mettre en correspondance dans la source de données à partir de l’enregistrement spécifié et récupérer jusqu’au nombre maximal spécifié d’enregistrements.

Fill(DataTable)

Ajoute ou actualise des lignes dans une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide du DataTable nom.

Fill(DataTable, IDataReader)

Ajoute ou actualise des lignes dans un DataTable pour qu’elles correspondent à celles de la source de données à l’aide des noms et IDataReader des noms spécifiésDataTable.

Fill(DataSet, String)

Ajoute ou actualise des lignes dans le DataSet pour qu’elles correspondent à celles de la source de données à l’aide des noms et DataTable des DataSet noms.

Fill(DataSet)

Ajoute ou actualise des lignes dans le DataSet.

Fill(DataTable, IDbCommand, CommandBehavior)

Ajoute ou actualise des lignes dans un DataTable pour qu’elles correspondent à celles de la source de données à l’aide des éléments spécifiés DataTableet IDbCommandCommandBehavior.

Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)

Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs

Ajoute ou actualise les lignes d’une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide des DataSet noms de table source, de la chaîne de commande et du comportement des commandes.

protected:
 virtual int Fill(System::Data::DataSet ^ dataSet, int startRecord, int maxRecords, System::String ^ srcTable, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill(System.Data.DataSet dataSet, int startRecord, int maxRecords, string srcTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataSet * int * int * string * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataSet As DataSet, startRecord As Integer, maxRecords As Integer, srcTable As String, command As IDbCommand, behavior As CommandBehavior) As Integer

Paramètres

dataSet
DataSet

À DataSet remplir avec des enregistrements et, si nécessaire, schéma.

startRecord
Int32

Numéro d’enregistrement de base zéro à utiliser.

maxRecords
Int32

Nombre maximal d’enregistrements à récupérer. Spécifiez 0 pour récupérer tous les enregistrements après l’enregistrement de démarrage.

srcTable
String

Nom de la table source à utiliser pour le mappage de table.

command
IDbCommand

Instruction SQL SELECT utilisée pour récupérer des lignes de la source de données.

behavior
CommandBehavior

Une des CommandBehavior valeurs.

Retours

Nombre de lignes ajoutées ou actualisées dans le DataSet. Cela n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.

Exceptions

La table source n’est pas valide.

Le startRecord paramètre est inférieur à 0.

- ou -

Le maxRecords paramètre est inférieur à 0.

Remarques

La maxRecords valeur 0 obtient tous les enregistrements trouvés après l’enregistrement de début. Si maxRecords elle est supérieure au nombre de lignes restantes, seules les lignes restantes sont retournées et aucune erreur n’est émise.

La Fill méthode récupère les lignes de la source de données à l’aide de l’instruction SELECT spécifiée par une propriété associée SelectCommand . L’objet de connexion associé à l’instruction SELECT doit être valide, mais il n’a pas besoin d’être ouvert. Si la connexion est fermée avant Fill d’être appelée, elle est ouverte pour récupérer des données, puis fermée. Si la connexion est ouverte avant Fill d’être appelée, elle reste ouverte.

L’opération Fill ajoute ensuite les lignes aux objets de destination DataTable dans le DataSet, créant les DataTable objets s’ils n’existent pas déjà. Lors de la création d’objets DataTable , l’opération Fill crée normalement uniquement des métadonnées de nom de colonne. Toutefois, si la MissingSchemaAction propriété est définie AddWithKeysur , les clés primaires et les contraintes appropriées sont également créées.

Si les DbDataAdapter colonnes dupliquées se produisent lors du remplissage d’un DataTable, elles génèrent des noms pour les colonnes suivantes, à l’aide du modèle « columnname1 », « columnname2 », « columnname3 », et ainsi de suite. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet modèle « Column1 », « Column2 », et ainsi de suite. Lorsque plusieurs jeux de résultats sont ajoutés à chaque DataSet 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.). Si votre application utilise des noms de colonnes et de tables, vérifiez qu’il n’existe aucun conflit avec ces modèles d’affectation de noms.

La Fill méthode prend en charge les scénarios où le fichier contient plusieurs DataTable objets dont les DataSet noms diffèrent uniquement par cas. Dans de telles situations, Fill effectue une comparaison sensible à la casse pour rechercher la table correspondante et crée une table si aucune correspondance exacte n’existe. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".

S’il Fill est appelé et qu’il ne contient qu’un DataTable seul dont le DataSet nom diffère uniquement par cas, il DataTable est mis à jour. Dans ce scénario, la comparaison ne respecte pas la casse. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.

Vous pouvez utiliser la Fill méthode plusieurs fois sur le même DataTable. Si une clé primaire existe, les lignes entrantes sont fusionnées avec des lignes correspondantes qui existent déjà. Si aucune clé primaire n’existe, les lignes entrantes sont ajoutées au DataTable.

Si SelectCommand retourne les résultats d'une jointure externe, le DataAdapter ne définit pas de valeur PrimaryKey pour le DataTableobtenu. Vous devez définir explicitement la clé primaire pour vous assurer que les lignes en double sont résolues correctement. Pour plus d’informations, consultez Définition des clés primaires.

Note

Lors de la gestion des instructions SQL batch qui retournent plusieurs résultats, l’implémentation et FillSchema pour un fournisseur de Fill données .NET Framework récupère les informations de schéma uniquement pour le premier résultat.

Notes pour les héritiers

Cette surcharge de la Fill(DataSet) méthode est protégée et est conçue pour être utilisée par un fournisseur de données .NET Framework.

Voir aussi

S’applique à

Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)

Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs

Ajoute ou actualise des lignes dans une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide des noms et DataTable des DataSet noms.

protected:
 virtual int Fill(cli::array <System::Data::DataTable ^> ^ dataTables, int startRecord, int maxRecords, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill(System.Data.DataTable[] dataTables, int startRecord, int maxRecords, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataTable[] * int * int * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataTables As DataTable(), startRecord As Integer, maxRecords As Integer, command As IDbCommand, behavior As CommandBehavior) As Integer

Paramètres

dataTables
DataTable[]

Objets DataTable à remplir à partir de la source de données.

startRecord
Int32

Numéro d’enregistrement de base zéro à utiliser.

maxRecords
Int32

Nombre maximal d’enregistrements à récupérer. Spécifiez 0 pour récupérer tous les enregistrements après l’enregistrement de démarrage.

command
IDbCommand

IDbCommand Exécuté pour remplir les DataTable objets.

behavior
CommandBehavior

Une des CommandBehavior valeurs.

Retours

Nombre de lignes ajoutées ou actualisées dans les tables de données.

Exceptions

La DataSet valeur n’est pas valide.

La table source n’est pas valide.

- ou -

La connexion n’est pas valide.

Impossible de trouver la connexion.

Le startRecord paramètre est inférieur à 0.

- ou -

Le maxRecords paramètre est inférieur à 0.

Remarques

La maxRecords valeur 0 obtient tous les enregistrements trouvés après l’enregistrement de début. Si maxRecords elle est supérieure au nombre de lignes restantes, seules les lignes restantes sont retournées et aucune erreur n’est émise.

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

Si une commande ne retourne aucune ligne, aucune table n’est ajoutée à l’élément DataSet, mais aucune exception n’est levée.

Si l’objet DbDataAdapter 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 « columnname1 », « columnname2 », « columnname3 », et ainsi de suite. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet modèle « Column1 », « Column2 », et ainsi de suite.

Lorsque la requête spécifiée retourne plusieurs 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.). Étant donné qu’aucune table n’est créée pour une requête qui ne retourne pas de lignes, si vous deviez traiter une requête d’insertion suivie d’une requête select, la table créée pour la requête select serait nommée « Table », car il s’agit de la première table créée. Si votre application utilise des noms de colonnes et de tables, vérifiez qu’il n’existe aucun conflit avec ces modèles d’affectation de noms.

La Fill méthode prend en charge les scénarios où le fichier contient plusieurs DataTable objets dont les DataSet noms diffèrent uniquement par cas. Dans de telles situations, Fill effectue une comparaison sensible à la casse pour rechercher la table correspondante et crée une table si aucune correspondance exacte n’existe. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".

S’il Fill est appelé et qu’il ne contient qu’un DataTable seul dont le DataSet nom diffère uniquement par cas, il DataTable est mis à jour. Dans ce scénario, la comparaison ne respecte pas la casse. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.

Si une erreur ou une exception est rencontrée lors de la remplissage des tables de données, les lignes ajoutées avant l’occurrence de l’erreur restent dans les tables de données. Le reste de l’opération est abandonné.

Lorsque l’instruction SELECT utilisée pour remplir les DataTable objets retourne plusieurs résultats, tels qu’une instruction SQL batch, tenez compte des éléments suivants :

  • Lors du traitement de plusieurs résultats à partir d’une instruction SQL batch, maxRecords s’applique uniquement au premier résultat. Il en va de même pour les lignes contenant des résultats chapitreés (fournisseur de données .NET Framework pour OLE DB uniquement). Le résultat de niveau supérieur est limité par maxRecords, mais toutes les lignes enfants sont ajoutées.

  • Si l’un des résultats contient une erreur, tous les résultats suivants sont ignorés.

Note

Le DataSet nombre d’enregistrements indiqués n’est pas supérieur au nombre d’enregistrements indiqués par maxRecords. Toutefois, l’ensemble de résultats entier généré par la requête est toujours retourné à partir du serveur.

Notes pour les héritiers

En cas de Fill(DataSet) substitution dans une classe dérivée, veillez à appeler la méthode de la classe de Fill(DataSet) base.

Voir aussi

S’applique à

Fill(DataSet, String, IDataReader, Int32, Int32)

Ajoute ou actualise des lignes dans une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide des noms et IDataReader des DataSetDataTablenoms.

protected:
 virtual int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable, System::Data::IDataReader ^ dataReader, int startRecord, int maxRecords);
protected virtual int Fill(System.Data.DataSet dataSet, string srcTable, System.Data.IDataReader dataReader, int startRecord, int maxRecords);
override this.Fill : System.Data.DataSet * string * System.Data.IDataReader * int * int -> int
Protected Overridable Function Fill (dataSet As DataSet, srcTable As String, dataReader As IDataReader, startRecord As Integer, maxRecords As Integer) As Integer

Paramètres

dataSet
DataSet

À DataSet remplir avec des enregistrements et, si nécessaire, schéma.

srcTable
String

Nom de l’objet à utiliser pour le DataTable mappage de table.

dataReader
IDataReader

Nom du IDataReader.

startRecord
Int32

Numéro d’enregistrement de base zéro à utiliser.

maxRecords
Int32

Nombre maximal d’enregistrements à récupérer. Spécifiez 0 pour récupérer tous les enregistrements après l’enregistrement de démarrage.

Retours

Nombre de lignes ajoutées ou actualisées dans le DataSet. Cela n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.

Exceptions

startRecord est inférieur à 0.

- ou -

maxRecords est inférieur à 0.

Remarques

La maxRecords valeur 0 obtient tous les enregistrements trouvés après l’enregistrement de début. Si maxRecords elle est supérieure au nombre de lignes restantes, seules les lignes restantes sont retournées et aucune erreur n’est émise.

S’applique à

Fill(DataSet, Int32, Int32, String)

Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs

Ajoute ou actualise des lignes dans une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide des noms et DataTable des DataSet noms.

public:
 int Fill(System::Data::DataSet ^ dataSet, int startRecord, int maxRecords, System::String ^ srcTable);
public int Fill(System.Data.DataSet dataSet, int startRecord, int maxRecords, string srcTable);
override this.Fill : System.Data.DataSet * int * int * string -> int
Public Function Fill (dataSet As DataSet, startRecord As Integer, maxRecords As Integer, srcTable As String) As Integer

Paramètres

dataSet
DataSet

À DataSet remplir avec des enregistrements et, si nécessaire, schéma.

startRecord
Int32

Numéro d’enregistrement de base zéro à utiliser.

maxRecords
Int32

Nombre maximal d’enregistrements à récupérer. Spécifiez 0 pour récupérer tous les enregistrements après l’enregistrement de démarrage.

srcTable
String

Nom de la table source à utiliser pour le mappage de table.

Retours

Nombre de lignes ajoutées ou actualisées dans le DataSet. Cela n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.

Exceptions

La DataSet valeur n’est pas valide.

La table source n’est pas valide.

- ou -

La connexion n’est pas valide.

Impossible de trouver la connexion.

Le startRecord paramètre est inférieur à 0.

- ou -

Le maxRecords paramètre est inférieur à 0.

Exemples

L’exemple suivant utilise la classe dérivée, OleDbDataAdapterpour remplir une DataSet ligne avec 15 lignes, commençant à la ligne 10, à partir de la table Categories . Cet exemple part du principe que vous avez créé un OleDbDataAdapter et un DataSet.

public void GetRecords()
{
    // ...
    // create dataSet and adapter
    // ...
    adapter.Fill(dataSet,9,15,"Categories");
}
Public Sub GetRecords()
    ' ...
    ' create dataSet and adapter
    ' ...
    adapter.Fill(dataSet, 9, 15, "Categories")
End Sub

Remarques

La maxRecords valeur 0 obtient tous les enregistrements trouvés après l’enregistrement de début. Si maxRecords elle est supérieure au nombre de lignes restantes, seules les lignes restantes sont retournées et aucune erreur n’est émise.

Si la commande select correspondante est une instruction qui retourne plusieurs résultats, Fill s’applique maxRecords uniquement au premier résultat.

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

Si une commande ne retourne aucune ligne, aucune table n’est ajoutée à l’élément DataSet, mais aucune exception n’est levée.

Si l’objet DbDataAdapter 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 « columnname1 », « columnname2 », « columnname3 », et ainsi de suite. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet modèle « Column1 », « Column2 », et ainsi de suite.

Lorsque la requête spécifiée retourne plusieurs 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.). Étant donné qu’aucune table n’est créée pour une requête qui ne retourne pas de lignes, si vous traitez une requête d’insertion suivie d’une requête select, la table créée pour la requête select est nommée « Table », car elle est la première table créée. Si votre application utilise des noms de colonnes et de tables, vérifiez qu’il n’existe aucun conflit avec ces modèles d’affectation de noms.

La Fill méthode prend en charge les scénarios où le fichier contient plusieurs DataTable objets dont les DataSet noms diffèrent uniquement par cas. Dans de telles situations, Fill effectue une comparaison sensible à la casse pour rechercher la table correspondante et crée une table si aucune correspondance exacte n’existe. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".

S’il Fill est appelé et qu’il ne contient qu’un DataTable seul dont le DataSet nom diffère uniquement par cas, il DataTable est mis à jour. Dans ce scénario, la comparaison ne respecte pas la casse. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.

Si une erreur ou une exception est rencontrée lors de la remplissage des tables de données, les lignes ajoutées avant l’occurrence de l’erreur restent dans les tables de données. Le reste de l’opération est abandonné.

Lorsque l’instruction SELECT utilisée pour remplir les DataSet résultats retourne plusieurs résultats, tels que les instructions SQL batch, tenez compte des éléments suivants :

  • Lors du traitement de plusieurs résultats à partir d’une instruction SQL batch, maxRecords s’applique uniquement au premier résultat. Il en va de même pour les lignes contenant des résultats chapitreés (fournisseur de données .NET Framework pour OLE DB uniquement). Le résultat de niveau supérieur est limité par maxRecords, mais toutes les lignes enfants sont ajoutées.

  • Si l’un des résultats contient une erreur, tous les résultats suivants sont ignorés et ne sont pas ajoutés au DataSetfichier .

Lors de l’utilisation d’appels suivants Fill pour actualiser le contenu du DataSet, deux conditions doivent être remplies :

  1. L’instruction SQL doit correspondre à celle initialement utilisée pour remplir le DataSetfichier .

  2. Les informations de colonne clé doivent être présentes.

Si les informations de clé primaire sont présentes, toutes les lignes dupliquées sont rapprochées et n’apparaissent qu’une seule fois dans le DataTable fichier correspondant au DataSet. Les informations de clé primaire peuvent être définies via FillSchema, en spécifiant la PrimaryKey propriété du DataTableou en définissant la MissingSchemaAction propriété AddWithKeysur .

Si SelectCommand retourne les résultats d'une jointure externe, le DataAdapter ne définit pas de valeur PrimaryKey pour le DataTableobtenu. Vous devez définir explicitement la clé primaire pour vous assurer que les lignes en double sont résolues correctement. Pour plus d’informations, consultez Définition des clés primaires.

Note

Lors de la gestion des instructions SQL batch qui retournent plusieurs résultats, l’implémentation du fournisseur de FillSchema données .NET Framework pour OLE DB récupère uniquement les informations de schéma pour le premier résultat. Pour récupérer des informations de schéma pour plusieurs résultats, utilisez Fill la MissingSchemaAction valeur définie AddWithKeysur .

Note

Le DataSet nombre d’enregistrements indiqués n’est pas supérieur au nombre d’enregistrements indiqués par maxRecords. Toutefois, l’ensemble du jeu de résultats généré par la requête est toujours retourné à partir du serveur.

Notes pour les héritiers

En cas de Fill(DataSet) substitution dans une classe dérivée, veillez à appeler la méthode de la classe de Fill(DataSet) base.

Voir aussi

S’applique à

Fill(Int32, Int32, DataTable[])

Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs

Ajoute ou actualise des lignes dans un ou plusieurs DataTable objets pour les mettre en correspondance dans la source de données à partir de l’enregistrement spécifié et récupérer jusqu’au nombre maximal spécifié d’enregistrements.

public:
 int Fill(int startRecord, int maxRecords, ... cli::array <System::Data::DataTable ^> ^ dataTables);
public int Fill(int startRecord, int maxRecords, params System.Data.DataTable[] dataTables);
override this.Fill : int * int * System.Data.DataTable[] -> int
Public Function Fill (startRecord As Integer, maxRecords As Integer, ParamArray dataTables As DataTable()) As Integer

Paramètres

startRecord
Int32

Numéro d’enregistrement de base zéro à utiliser.

maxRecords
Int32

Nombre maximal d’enregistrements à récupérer. Spécifiez 0 pour récupérer tous les enregistrements après l’enregistrement de démarrage.

dataTables
DataTable[]

Objets DataTable à remplir à partir de la source de données.

Retours

Nombre de lignes ajoutées ou actualisées dans les DataTable objets. Cette valeur n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.

Exceptions

dataTables est null ou un tableau vide.

startRecord est inférieur à 0.

- ou -

maxRecords est inférieur à 0.

Remarques

La maxRecords valeur 0 obtient tous les enregistrements trouvés après l’enregistrement de début. Si maxRecords elle est supérieure au nombre de lignes restantes, seules les lignes restantes sont retournées et aucune erreur n’est émise.

La Fill méthode récupère les lignes de la source de données à l’aide de l’instruction SELECT spécifiée par une propriété associée SelectCommand . L’objet de connexion associé à l’instruction SELECT doit être valide, mais il n’a pas besoin d’être ouvert. Si la connexion est fermée avant Fill d’être appelée, elle est ouverte pour récupérer des données, puis fermée. Si la connexion est ouverte avant Fill d’être appelée, elle reste ouverte.

L’opération Fill ajoute ensuite les lignes aux objets de destination DataTable dans le DataSet, créant les DataTable objets s’ils n’existent pas déjà. Lors de la création d’objets DataTable , l’opération Fill crée normalement uniquement des métadonnées de nom de colonne. Toutefois, si la MissingSchemaAction propriété est définie AddWithKeysur , les clés primaires et les contraintes appropriées sont également créées.

Si SelectCommand retourne les résultats d'une jointure externe, le DataAdapter ne définit pas de valeur PrimaryKey pour le DataTableobtenu. Vous devez définir explicitement la clé primaire pour vous assurer que les lignes en double sont résolues correctement. Pour plus d’informations, consultez Définition des clés primaires.

Si l’adaptateur de données 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 », et ainsi de suite. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet modèle « Column1 », « Column2 », et ainsi de suite. Lorsque plusieurs jeux de résultats sont ajoutés au DataSetjeu 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.). Si votre application utilise des noms de colonnes et de tables, vérifiez qu’il n’existe aucun conflit avec ces modèles d’affectation de noms.

Lorsque l’instruction SELECT utilisée pour remplir les DataSet résultats renvoie plusieurs résultats, tels qu’une instruction SQL batch, si l’un des résultats contient une erreur, tous les résultats suivants sont ignorés et non ajoutés au DataSetfichier .

Vous pouvez utiliser la Fill méthode plusieurs fois sur le même DataTable. Si une clé primaire existe, les lignes entrantes sont fusionnées avec des lignes correspondantes qui existent déjà. Si aucune clé primaire n’existe, les lignes entrantes sont ajoutées au DataTable.

Note

Lors de la gestion des instructions SQL batch qui retournent plusieurs résultats, l’implémentation du fournisseur de FillSchema données .NET Framework pour OLE DB récupère uniquement les informations de schéma pour le premier résultat. Pour récupérer des informations de schéma pour plusieurs résultats, utilisez Fill la MissingSchemaAction valeur définie AddWithKeysur .

Voir aussi

S’applique à

Fill(DataTable)

Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs

Ajoute ou actualise des lignes dans une plage spécifiée dans la DataSet plage pour qu’elles correspondent à celles de la source de données à l’aide du DataTable nom.

public:
 int Fill(System::Data::DataTable ^ dataTable);
public int Fill(System.Data.DataTable dataTable);
override this.Fill : System.Data.DataTable -> int
Public Function Fill (dataTable As DataTable) As Integer

Paramètres

dataTable
DataTable

Nom de l’objet à utiliser pour le DataTable mappage de table.

Retours

Nombre de lignes ajoutées ou actualisées dans le DataSet. Cela n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.

Exceptions

La table source n’est pas valide.

Remarques

La Fill méthode récupère les lignes de la source de données à l’aide de l’instruction SELECT spécifiée par une propriété associée SelectCommand . L’objet de connexion associé à l’instruction SELECT doit être valide, mais il n’a pas besoin d’être ouvert. Si la connexion est fermée avant Fill d’être appelée, elle est ouverte pour récupérer des données, puis fermée. Si la connexion est ouverte avant Fill d’être appelée, elle reste ouverte.

L’opération Fill ajoute ensuite les lignes aux objets de destination DataTable dans le DataSet, créant les DataTable objets s’ils n’existent pas déjà. Lors de la création d’objets DataTable , l’opération Fill crée normalement uniquement des métadonnées de nom de colonne. Toutefois, si la MissingSchemaAction propriété est définie AddWithKeysur , les clés primaires et les contraintes appropriées sont également créées.

Si les DbDataAdapter colonnes dupliquées se produisent lors du remplissage d’un DataTable, elles génèrent des noms pour les colonnes suivantes, à l’aide du modèle « columnname1 », « columnname2 », « columnname3 », et ainsi de suite. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet modèle « Column1 », « Column2 », et ainsi de suite. Lorsque plusieurs jeux de résultats sont ajoutés à chaque DataSet jeu de résultats est placé dans une table distincte.

La surcharge de Fill ce paramètre DataTable obtient uniquement le premier résultat. Utilisez une surcharge de Fill ce paramètre pour DataSet obtenir plusieurs résultats.

La Fill méthode prend en charge les scénarios où le fichier contient plusieurs DataTable objets dont les DataSet noms diffèrent uniquement par cas. Dans de telles situations, Fill effectue une comparaison sensible à la casse pour rechercher la table correspondante et crée une table si aucune correspondance exacte n’existe. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
 dataset.Tables.Add("aaa");
 dataset.Tables.Add("AAA");
 adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
    adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".

S’il Fill est appelé et qu’il ne contient qu’un DataTable seul dont le DataSet nom diffère uniquement par cas, il DataTable est mis à jour. Dans ce scénario, la comparaison ne respecte pas la casse. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
 dataset.Tables.Add("aaa");
    adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.

Vous pouvez utiliser la Fill méthode plusieurs fois sur le même DataTable. Si une clé primaire existe, les lignes entrantes sont fusionnées avec des lignes correspondantes qui existent déjà. Si aucune clé primaire n’existe, les lignes entrantes sont ajoutées au DataTable.

Si SelectCommand retourne les résultats d'une jointure externe, le DataAdapter ne définit pas de valeur PrimaryKey pour le DataTableobtenu. Vous devez définir explicitement la clé primaire pour vous assurer que les lignes en double sont résolues correctement. Pour plus d’informations, consultez Définition des clés primaires.

Note

Lors de la gestion des instructions SQL batch qui retournent plusieurs résultats, l’implémentation et FillSchema pour un fournisseur de Fill données .NET Framework récupère les informations de schéma uniquement pour le premier résultat.

Notes pour les héritiers

Cette surcharge de la Fill(DataSet) méthode est protégée et est conçue pour être utilisée par un fournisseur de données .NET Framework.

Voir aussi

S’applique à

Fill(DataTable, IDataReader)

Ajoute ou actualise des lignes dans un DataTable pour qu’elles correspondent à celles de la source de données à l’aide des noms et IDataReader des noms spécifiésDataTable.

protected:
 virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDataReader ^ dataReader);
protected virtual int Fill(System.Data.DataTable dataTable, System.Data.IDataReader dataReader);
override this.Fill : System.Data.DataTable * System.Data.IDataReader -> int
Protected Overridable Function Fill (dataTable As DataTable, dataReader As IDataReader) As Integer

Paramètres

dataTable
DataTable

À DataTable remplir avec des enregistrements et, si nécessaire, schéma.

dataReader
IDataReader

Nom du IDataReader.

Retours

Nombre de lignes ajoutées ou actualisées dans le DataTable. Cela n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.

S’applique à

Fill(DataSet, String)

Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs

Ajoute ou actualise des lignes dans le DataSet pour qu’elles correspondent à celles de la source de données à l’aide des noms et DataTable des DataSet noms.

public:
 int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable);
public int Fill(System.Data.DataSet dataSet, string srcTable);
override this.Fill : System.Data.DataSet * string -> int
Public Function Fill (dataSet As DataSet, srcTable As String) As Integer

Paramètres

dataSet
DataSet

À DataSet remplir avec des enregistrements et, si nécessaire, schéma.

srcTable
String

Nom de la table source à utiliser pour le mappage de table.

Retours

Nombre de lignes ajoutées ou actualisées dans le DataSet. Cela n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.

Exceptions

La table source n’est pas valide.

Exemples

L’exemple suivant utilise la classe dérivée, OleDbDataAdapterpour remplir une DataSet ligne de la table catégories. Cet exemple part du principe que vous avez créé un OleDbDataAdapter et un DataSet.

public void GetRecords()
{
    // ...
    // create dataSet and adapter
    // ...
    adapter.Fill(dataSet, "Categories");
}
Public Sub GetRecords()
    ' ...
    ' create dataSet and adapter
    ' ...
    adapter.Fill(dataSet, "Categories")
End Sub

Remarques

La Fill méthode récupère les données de la source de données à l’aide d’une instruction SELECT. L’objet IDbConnection associé à la commande select doit être valide, mais il n’a pas besoin d’être ouvert. Si l’objet IDbConnection est fermé avant Fill d’être appelé, il est ouvert pour récupérer des données, puis fermé. Si la connexion est ouverte avant Fill d’être appelée, elle reste ouverte.

Si une commande ne retourne aucune ligne, aucune table n’est ajoutée à l’élément DataSetet aucune exception n’est levée.

Si l’objet DbDataAdapter 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 », et ainsi de suite. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet modèle « Column1 », « Column2 », et ainsi de suite.

Lorsque la requête spécifiée retourne plusieurs 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.). Étant donné qu’aucune table n’est créée pour une requête qui ne retourne pas de lignes, si vous deviez traiter une requête d’insertion suivie d’une requête select, la table créée pour la requête select serait nommée « Table », car il s’agit de la première table créée. Si votre application utilise des noms de colonnes et de tables, vérifiez qu’il n’existe aucun conflit avec ces modèles d’affectation de noms.

La Fill méthode prend en charge les scénarios où le fichier contient plusieurs DataTable objets dont les DataSet noms diffèrent uniquement par cas. Dans de telles situations, Fill effectue une comparaison sensible à la casse pour rechercher la table correspondante et crée une table si aucune correspondance exacte n’existe. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".

S’il Fill est appelé et qu’il ne contient qu’un DataTable seul dont le DataSet nom diffère uniquement par cas, il DataTable est mis à jour. Dans ce scénario, la comparaison ne respecte pas la casse. Le code C# suivant illustre ce comportement.

DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.

Si une erreur ou une exception est rencontrée lors de la remplissage des tables de données, les lignes ajoutées avant l’occurrence de l’erreur restent dans les tables de données. Le reste de l’opération est abandonné.

Lorsque l’instruction SELECT utilisée pour remplir les DataSet résultats retourne plusieurs résultats, tels qu’une instruction SQL batch, tenez compte des éléments suivants :

  • Si l’un des résultats contient une erreur, tous les résultats suivants sont ignorés et ne sont pas ajoutés au DataSetfichier .

Lors de l’utilisation d’appels suivants Fill pour actualiser le contenu du DataSet, deux conditions doivent être remplies :

  1. L’instruction SQL doit correspondre à celle initialement utilisée pour remplir le DataSetfichier .

  2. Les informations de colonne clé doivent être présentes. Si les informations de clé primaire sont présentes, toutes les lignes dupliquées sont rapprochées et n’apparaissent qu’une seule fois dans le DataTable fichier correspondant au DataSet. Les informations de clé primaire peuvent être définies via FillSchema, en spécifiant la PrimaryKey propriété du DataTableou en définissant la MissingSchemaAction propriété AddWithKeysur .

Si SelectCommand retourne les résultats d'une jointure externe, le DataAdapter ne définit pas de valeur PrimaryKey pour le DataTableobtenu. Vous devez définir explicitement la clé primaire pour vous assurer que les lignes en double sont résolues correctement. Pour plus d’informations, consultez Définition des clés primaires.

Note

Lors de la gestion des instructions SQL batch qui retournent plusieurs résultats, l’implémentation du fournisseur de FillSchema données .NET Framework pour OLE DB récupère uniquement les informations de schéma pour le premier résultat. Pour récupérer des informations de schéma pour plusieurs résultats, utilisez Fill la MissingSchemaAction valeur définie AddWithKeysur .

Notes pour les héritiers

En cas de Fill(DataSet) substitution dans une classe dérivée, veillez à appeler la méthode de la classe de Fill(DataSet) base.

Voir aussi

S’applique à

Fill(DataSet)

Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs

Ajoute ou actualise des lignes dans le DataSet.

public:
 override int Fill(System::Data::DataSet ^ dataSet);
public override int Fill(System.Data.DataSet dataSet);
override this.Fill : System.Data.DataSet -> int
Public Overrides Function Fill (dataSet As DataSet) As Integer

Paramètres

dataSet
DataSet

À DataSet remplir avec des enregistrements et, si nécessaire, schéma.

Retours

Nombre de lignes ajoutées ou actualisées dans le DataSet. Cela n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.

Implémente

Remarques

La Fill méthode récupère les données de la source de données à l’aide d’une instruction SELECT. L’objet IDbConnection associé à la commande select doit être valide, mais il n’a pas besoin d’être ouvert. Si l’objet IDbConnection est fermé avant Fill d’être appelé, il est ouvert pour récupérer des données, puis fermé. Si la connexion est ouverte avant Fill d’être appelée, elle reste ouverte.

Si une erreur ou une exception est rencontrée lors de la remplissage des tables de données, les lignes ajoutées avant l’occurrence de l’erreur restent dans les tables de données. Le reste de l’opération est abandonné.

Si une commande ne retourne aucune ligne, aucune table n’est ajoutée à l’élément DataSetet aucune exception n’est levée.

Si l’objet DbDataAdapter 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 », et ainsi de suite. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet modèle « Column1 », « Column2 », et ainsi de suite.

Lorsque la requête spécifiée retourne plusieurs résultats, le jeu de résultats pour chaque requête de retour de ligne 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.). Étant donné qu’aucune table n’est créée pour une requête qui ne retourne pas de lignes, si vous traitez une requête d’insertion suivie d’une requête select, la table créée pour la requête select est nommée « Table », car il s’agit de la première table créée. Si votre application utilise des noms de colonnes et de tables, vérifiez qu’il n’existe aucun conflit avec ces modèles d’affectation de noms.

Lorsque l’instruction SELECT utilisée pour remplir les DataSet résultats renvoie plusieurs résultats, tels que les instructions SQL de lot, si l’un des résultats contient une erreur, tous les résultats suivants sont ignorés et ne sont pas ajoutés au DataSetfichier .

Lors de l’utilisation d’appels suivants Fill pour actualiser le contenu du DataSet, deux conditions doivent être remplies :

  1. L’instruction SQL doit correspondre à celle initialement utilisée pour remplir le DataSetfichier .

  2. Les informations de colonne clé doivent être présentes.

Si les informations de clé primaire sont présentes, toutes les lignes dupliquées sont rapprochées et n’apparaissent qu’une seule fois dans le DataTable fichier correspondant au DataSet. Les informations de clé primaire peuvent être définies via FillSchema, en spécifiant la PrimaryKey propriété du DataTableou en définissant la MissingSchemaAction propriété AddWithKeysur .

Si SelectCommand retourne les résultats d'une jointure externe, le DataAdapter ne définit pas de valeur PrimaryKey pour le DataTableobtenu. Vous devez définir explicitement la clé primaire pour vous assurer que les lignes en double sont résolues correctement. Pour plus d’informations, consultez Définition des clés primaires.

Note

Lors de la gestion des instructions SQL batch qui retournent plusieurs résultats, l’implémentation du fournisseur de FillSchema données .NET Framework pour OLE DB récupère uniquement les informations de schéma pour le premier résultat. Pour récupérer des informations de schéma pour plusieurs résultats, utilisez Fill la MissingSchemaAction valeur définie AddWithKeysur .

Voir aussi

S’applique à

Fill(DataTable, IDbCommand, CommandBehavior)

Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs
Source:
DbDataAdapter.cs

Ajoute ou actualise des lignes dans un DataTable pour qu’elles correspondent à celles de la source de données à l’aide des éléments spécifiés DataTableet IDbCommandCommandBehavior.

protected:
 virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill(System.Data.DataTable dataTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataTable * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataTable As DataTable, command As IDbCommand, behavior As CommandBehavior) As Integer

Paramètres

dataTable
DataTable

À DataTable remplir avec des enregistrements et, si nécessaire, schéma.

command
IDbCommand

Instruction SQL SELECT utilisée pour récupérer des lignes de la source de données.

behavior
CommandBehavior

Une des CommandBehavior valeurs.

Retours

Nombre de lignes ajoutées ou actualisées dans le DataTable. Cela n’inclut pas les lignes affectées par les instructions qui ne retournent pas de lignes.

Remarques

La Fill méthode récupère les lignes de la source de données à l’aide de l’instruction SELECT spécifiée par une propriété associée SelectCommand . L’objet de connexion associé à l’instruction SELECT doit être valide, mais il n’a pas besoin d’être ouvert. Si la connexion est fermée avant Fill d’être appelée, elle est ouverte pour récupérer des données, puis fermée. Si la connexion est ouverte avant Fill d’être appelée, elle reste ouverte.

L’opération Fill ajoute ensuite les lignes à l’objet de destination DataTable spécifié dans le DataSet, en créant l’objet DataTable s’il n’existe pas déjà. Lors de la création d’un DataTable objet, l’opération Fill crée normalement uniquement des métadonnées de nom de colonne. Toutefois, si la MissingSchemaAction propriété est définie AddWithKeysur , les clés primaires et les contraintes appropriées sont également créées.

Si l’objet DbDataAdapter 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 « columnname1 », « columnname2 », « columnname3 », et ainsi de suite. Si les données entrantes contiennent des colonnes sans nom, elles sont placées dans le DataSet modèle « Column1 », « Column2 », et ainsi de suite.

La surcharge de Fill ce paramètre DataTable obtient uniquement le premier résultat. Utilisez une surcharge de Fill ce paramètre pour DataSet obtenir plusieurs résultats.

Vous pouvez utiliser la Fill méthode plusieurs fois sur le même DataTable. Si une clé primaire existe, les lignes entrantes sont fusionnées avec des lignes correspondantes qui existent déjà. Si aucune clé primaire n’existe, les lignes entrantes sont ajoutées au DataTable.

Si SelectCommand retourne les résultats d'une jointure externe, le DataAdapter ne définit pas de valeur PrimaryKey pour le DataTableobtenu. Vous devez définir explicitement la clé primaire pour vous assurer que les lignes en double sont résolues correctement. Pour plus d’informations, consultez Définition des clés primaires.

Note

Lors de la gestion des instructions SQL batch qui retournent plusieurs résultats, l’implémentation du fournisseur de FillSchema données .NET Framework pour OLE DB récupère uniquement les informations de schéma pour le premier résultat. Pour récupérer des informations de schéma pour plusieurs résultats, utilisez Fill la MissingSchemaAction valeur définie AddWithKeysur .

Notes pour les héritiers

Cette surcharge de la Fill(DataSet) méthode est protégée et est conçue pour être utilisée par un fournisseur de données .NET Framework.

Voir aussi

S’applique à