Lire des données à partir d’une base de données

Vue d’ensemble

Vous pouvez utiliser Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader pour récupérer un flux de données en lecture seule et en transfert uniquement à partir d’une base de données. L’utilisation Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader de peut augmenter les performances de l’application et réduire la surcharge du système, car une seule ligne à la fois est toujours en mémoire.

Après avoir créé une instance de l’objetMicrosoft.HostIntegration.MsDb2Client.MsDb2Command, vous pouvez créer un en Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader appelant Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteReader%2A pour récupérer des lignes à partir d’une source de données.

Vous pouvez utiliser Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader.Read%2A?displayProperty=fullName pour obtenir une ligne à partir des résultats de la requête. Vous accédez à chaque colonne de la ligne retournée en passant le nom ou la référence ordinale de la colonne à Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader. Toutefois, pour de meilleures performances, Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader fournit une série de méthodes qui vous permettent d’accéder aux valeurs de colonne dans leurs types de données natifs. L’utilisation des méthodes d’accesseur typé lorsque le type de données sous-jacent est connu réduit la quantité de conversion de type requise lors de la récupération de la valeur de colonne.

Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader fournit également un flux de données non tamponné qui permet à la logique procédurale de traiter efficacement les résultats d’une source de données de manière séquentielle. Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader est un bon choix lorsque vous récupérez de grandes quantités de données, car les données ne sont pas mises en cache en mémoire.

Une fois que vous avez terminé avec Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader, veillez à appeler la Close méthode . En outre, les paramètres de sortie et les valeurs de retour d’un Microsoft.HostIntegration.MsDb2Client.MsDb2Command ne sont pas disponibles tant que n’est Microsoft.HostIntegration.MsDb2Client.MsDb2DataReader pas fermé.

Notes

L’architecture de données relationnelles distribuées (DRDA) utilise un « . » comme virgule décimale et un « , » pour séparer les valeurs numériques. Si vous travaillez dans une langue, telle que l’allemand, qui utilise un « , » comme virgule décimale, vous pouvez recevoir une erreur lorsque vous récupérez des données à partir de votre base de données. Pour éviter cette erreur, utilisez System.Globalization.CultureInfo.InvariantCulture lorsque vous appelez les ToString méthodes et Parse .

Exemple

L’exemple suivant montre comment lire des données d’une base de données DB2 en lisant une ligne d’une SELECT instruction :

Public void ReadMyData(string myConnString)   
{  
   string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders";  
   MsDb2Connection myConnection = new MsDb2Connection(myConnString);  
   MsDb2Command myCommand = new MsDb2Command(mySelectQuery,myConnection);  
   myConnection.Open();  
   MsDb2DataReader myReader;  
   myReader = myCommand.ExecuteReader();  
   // Always call Read before accessing data.  
   While (myReader.Read())  
   {  
       Console.WriteLine(myReader.GetInt32(0) + ", "  
       + myReader.GetString(1));  
   }  
   // Always close when done reading.  
   myReader.Close();  
   // Close the connection when done.  
   myConnection.Close();  
}  
  

Voir aussi

Utilisation du fournisseur managé pour DB2
Fournisseur managé pour DB2 - Guide du programmeur