Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Comment faire pour gérer plusieurs résultats en utilisant l'objet DataReader dans Visual C# .NET

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 311274
Pour une version de Microsoft Visual Basic .NET de cet article, voir 309490.

Cet article fait référence à l'espaces de noms bibliothèque de classes Microsoft .NET Framework suivants :
  • System.Data.OLEDB
  • System.Data.SqlClient

DE CETTE TÂCHE

Résumé
Cet article contient une fonction générique que vous pouvez utiliser pour traiter plusieurs jeux d'enregistrements et d'autres messages qui sont renvoyés de procédures stockées ou l'exécution des instructions SQL par lots.

back to the top

Description de la technique

(ActiveX Data Objects) pouvez reçoivent cinq différents types de données du serveur :
  • Jeu d'enregistrements
  • Nombre d'enregistrements qui sont modifiés par une requête action (tels que INSERT, UPDATE, DELETE ou SELECT INTO)
  • Message d'information ou avertissement
  • Message d'erreur
  • Procédure stockée renvoient des valeurs et paramètres de sortie
Lorsque vous lisez les résultats d'un lot instruction SQL, vous pouvez utiliser la méthode NextResult pour positionner l' objet DataReader dans le résultat suivant dans le jeu de résultats.

back to the top

Configuration requise

La liste suivante met en évidence le matériel recommandé, logiciel infrastructure réseau et service packs dont vous avez besoin :
  • Microsoft Windows 2000 Professionnel, Windows 2000 Server, des Windows 2000 Advanced Server ou Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Microsoft SQL Server 7.0 ou version ultérieure
Cet article suppose que vous êtes familiarisé avec les sujets suivants :
  • Visual Studio .NET
  • Notions fondamentales ADO.NET et la syntaxe
back to the top

Créer un projet et ajouter de code

Ce code exemple utilise la table authors de la Pubs de serveur SQL exemple de base de données.
  1. Collez les instructions suivantes dans l'Analyseur de requêtes SQL outil ou de l'utilitaire ISQL :
    CREATE PROC MyProcAS    SELECT * FROM Authors    SELECT * FROM Authors WHERE State = 'CA'GO 					
  2. Démarrez Visual Studio .NET.
  3. Créez un projet d'application Windows nouveau dans Visual C# .NET. Form1 est ajouté au projet par défaut.
  4. Vérifiez que que votre projet contient une référence à l'espace de noms System.Data et ajoutez une référence à cet espace de noms si ce n'est pas le cas.
  5. Placez un bouton de commande sur Form1. Modifier la propriété Name du bouton à btnTest et modifiez la propriété à test .
  6. Utilisez l'instruction using sur les espaces de noms System , System.Data.OLEDB et System.Data.SqlClient afin qu'il ne soit pas nécessaire de qualifier les déclarations dans les espaces de noms plus loin dans votre code. Ajoutez le code suivant à la section Déclarations générales de Form1 :
    using System;using System.Data.OleDb;using System.Data.SqlClient;					
  7. Ajoutez le code suivant à l'événement btnTest_Click :

    note Vous devez modifier la valeur de compte utilisateur ID < nom utilisateur > à un compte possédant les autorisations appropriées pour effectuer ces opérations sur la base de données.
        String myConnString  = "User ID=<username>;password=<strong password>;Initial Catalog=pubs;Data Source=myServer";    SqlConnection myConnection = new SqlConnection(myConnString);    SqlCommand myCommand = new SqlCommand();    SqlDataReader myReader ;    myCommand.CommandType = CommandType.StoredProcedure;    myCommand.Connection = myConnection;    myCommand.CommandText = "MyProc";    int RecordCount=0;     try    {        myConnection.Open();	myReader = myCommand.ExecuteReader();	while (myReader.Read())	{ 	    //Write logic to process data for the first result.	    RecordCount = RecordCount + 1;	}	MessageBox.Show("Total number of Authors: " + RecordCount.ToString());	myReader.NextResult();	RecordCount = 0;	while (myReader.Read())	{	    //Write logic to process data for the second result.	    RecordCount = RecordCount + 1;	}	MessageBox.Show("Authors from California: " + RecordCount.ToString());    }    catch(Exception ex)     {       MessageBox.Show(ex.ToString());    }    finally    {	myConnection.Close();    }					
  8. Modifier la chaîne de connexion ( myConnString ) en fonction de votre environnement.
  9. Enregistrer votre projet. Dans le menu Déboguer , cliquez sur Démarrer pour exécuter votre projet.
  10. Cliquez sur test . Notez que les zones de messages affichent les données la procédure stockée renvoie.
back to the top
Références
Pour plus d'informations sur l'appel de procédures stockées, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
306574 Comment faire pour appeler SQL Server de procédures stockées dans ASP.NET
Pour plus d'informations sur la gestion des erreurs, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
308650 Comment faire pour obtenir les erreurs sous-jacentes du fournisseur à l'aide de Visual C# .NET d'ADO.NET
Pour plus d'informations sur les paramètres et les procédures stockées, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
308621 MODÈLE : les paramètres de sortie sont retournées pas lorsque vous exécutez une commande d'ADO.NET dans Visual C# .NET
Pour plus d'informations sur les objets ADO.NET et la syntaxe, consulter le suivant Microsoft .NET Framework Software Development Kit (SDK) documentation : back to the top
NextResult

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 311274 - Dernière mise à jour : 05/13/2007 05:02:37 - Révision : 3.4

Microsoft ADO.NET (included with the .NET Framework), Microsoft ADO.NET 1.1, Microsoft Visual C# .NET 2002 Initiation, Microsoft Visual C# .NET 2003 Initiation

  • kbmt kbhowtomaster kbsqlclient kbsystemdata KB311274 KbMtfr
Commentaires
/html>