Informatie over het afhandelen van meerdere resultaten met behulp van de Data Reader in Visual c#.NETTO

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 311274 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Dit artikel bevat een algemene functie die u kunt gebruiken voor het verwerken van meerdere records ets en andere berichten die worden geretourneerd uit opgeslagen procedures of de uitvoering van de batchverwerking SQL-instructies.

Beschrijving van de techniek

Ontvangen vijf verschillende typen van ActiveX Data Objects (ADO) gegevens van de server:
  • Record set
  • Aantal records die zijn gewijzigd door een actiequery (zoals INSERT, UPDATE, DELETE, of SELECT INTO)
  • Informatief bericht of waarschuwing
  • Foutbericht
  • Retour waarden van opgeslagen procedure en de uitvoer parameters
Als u de resultaten van een SQL-instructie batch leest, kunt u hetNextResultmethode om deData Readerin het volgende resultaat in de resultaat set.

Vereisten

De volgende lijst worden de aanbevolen hardware, software, net werk infrastructuur en service packs die u nodig hebt:
  • Microsoft Windows 2000 Professional, Windows 2000 Server Windows 2000 Advanced Server of Windows NT 4. 0 Server
  • Microsoft Visual Studio.NETTO
  • Microsoft SQL Server 7. 0 of hoger
In dit artikel wordt ervan uitgegaan dat u bekend met de volgende bent onderwerpen:
  • Visual Studio.NETTO
  • ADO.NETTO basis begrippen en syntaxis

Project maken en Code toevoegen

Deze voorbeeldcode wordt gebruikt voor de tabel Authors van de SQL Server-Pubs voorbeeld data base.
  1. De volgende instructies in SQL Query Analyzer te plakken hulp programma of het hulp programma ISQL:
    CREATE PROC MyProc
    AS
        SELECT * FROM Authors
        SELECT * FROM Authors WHERE State = 'CA'
    GO 
    					
  2. Start Visual Studio.NET.
  3. Maak een nieuw Windows Application-project in Visual c#.NET. Form1 wordt standaard toegevoegd aan het project.
  4. Zorg ervoor dat uw project een verwijzing naar bevat deSystem. datanaam ruimte, en als dat zo is een verwijzing naar deze naam ruimte toe te voegen niet.
  5. Plaats eenOpdrachtknop op Form1. Wijziging deNaameigenschap van de knopbtnTest, en Wijzig deTeksteigenschapTest.
  6. Gebruik demet behulp vaninstructie op deSysteem,System.data.OLEDB, enSystem.data.SqlClientnaam ruimten zodat u niet hoeft te kwalificeren declaraties in deze naam ruimten in uw code later. De volgende code toevoegen aan de algemene De sectie declaraties van Form1:
    using System;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    					
  7. Voeg de volgende code om debtnTest_Clickgebeurtenis:

    OpmerkingMoet u de gebruikers-ID <user name="">account waarde met een account die beschikt over de juiste machtigingen Deze bewerkingen uitvoeren op de data base.</user>
        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. De (verbindings teken reeks wijzigenmyConnString) in voorkomend geval voor uw omgeving.
  9. Uw project opslaan. Op deFout opsporingmenu, klikt u opStarthet project wordt uitgevoerd.
  10. Klik opTest. Melding dat bericht vensters weer gegeven voor de gegevens die de opgeslagen procedure een waarde retourneert.

Referenties

Voor meer informatie over het aanroepen van opgeslagen procedures, klikt u op het artikel volgende nummer het artikel in de Microsoft Knowledge Base:
306574Hoe SQL Server aanroepen opgeslagen Procedures in ASP-pagina.NETTO
Voor meer informatie informatie over het afhandelen van fouten klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
308650Het onderliggende Providerfouten verkrijgen met behulp van ADO.NET in Visual c#.NETTO
Voor meer informatie over parameters en opgeslagen procedures, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
308621PRB: Geen uitvoerparameters worden geretourneerd wanneer u een ADO.Opdracht NET in Visual c#.NETTO
Voor meer informatie over ADO.NET objecten en syntaxis Raadpleeg de volgende Microsoft..NET Framework Software Development Kit (SDK) documentatie:
Toegang tot gegevens met ADO.NETTO
(vs.71) http://msdn2.Microsoft.com/en-us/library/e80y5yhx. aspx

Eigenschappen

Artikel ID: 311274 - Laatste beoordeling: maandag 28 februari 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
Trefwoorden: 
kbhowtomaster kbsqlclient kbsystemdata kbmt KB311274 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:311274

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com