Jak popisovače více výsledků pomocí objektu DataReader v Visual C# .NET

Překlady článku Překlady článku
ID článku: 311274 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek obsahuje obecný funkce, které můžete použít ke zpracování více sad záznamů a jiných zpráv vrácený z uložené procedury nebo provádění dávkové příkazy SQL.

Popis Technique

ActiveX Data Objects (ADO) může přijímat pět různých typů dat ze serveru:
  • Recordset
  • Počet záznamů, které jsou změněny akčního dotazu (například INSERT, UPDATE, DELETE nebo SELECT INTO)
  • Informační zpráva nebo upozornění
  • Chybová zpráva
  • Vrácené hodnoty uložené procedury a výstupní parametry
Při čtení výsledky dávkový příkaz SQL můžete použít metodu NextResult Další výsledek komponenty resultset poloze objektu DataReader.

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a požadované aktualizace Service Pack:
  • Microsoft Windows 2000 Professional, Windows 2000 Server Windows 2000 Advanced Server nebo Windows NT 4.0 Server
  • Microsoft Visual Studio .NET
  • Microsoft SQL Server 7.0 nebo vyšší
Tento článek předpokládá znalost následujících témat:
  • Visual Studio .NET
  • Základy ADO.NET a syntaxe

Vytvoření projektu a přidat kód

Tento ukázkový kód používá tabulku Autoři SQL Server Pubs ukázkové databáze.
  1. Vložit následující příkazy SQL Query Analyzer nástroj nebo nástroj ISQL:
    CREATE PROC MyProc
    AS
        SELECT * FROM Authors
        SELECT * FROM Authors WHERE State = 'CA'
    GO 
    					
  2. Spusťte aplikaci Visual Studio .NET.
  3. Vytvořit nový projekt aplikace Windows v Visual C# .NET. Ve výchozím nastavení je Form1 přidán do projektu.
  4. Zkontrolujte, zda projekt obsahuje odkaz na obor názvů System.data a přidat odkaz na tento obor názvů, pokud ji neobsahuje.
  5. Umístěte příkazového tlačítka na Form1. Změňte vlastnost název tlačítka btnTest a změnit vlastnost TextTest.
  6. Použít pomocí příkazu na systémy, System.data.OLEDB a System.data.SqlClient obory názvů, takže není nutné kvalifikovat deklarace obory názvů později v kódu. Přidejte následující kód obecné deklarační sekci Form1:
    using System;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    					
  7. Přidejte následující kód události btnTest_Click:

    Poznámka:Hodnotu účtu IDENTIFIKAČNÍ < uživatelské jméno > musíte změnit účet, který má příslušná oprávnění k provádění těchto operací v databázi.
        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. Upravit připojovací řetězec (myConnString) jako pro vaše prostředí.
  9. Uložit projekt. V nabídce Debug klepněte na tlačítko Start spustit projektu.
  10. Klepněte na tlačítko Test. Všimněte si políčka zprávy zobrazit data uložená procedura vrací.

Odkazy

Další informace o volání uložené procedury klepněte na článek číslo článku databáze Microsoft Knowledge Base:
306574Jak volání serveru SQL uložených procedur v ASP.NET
Další informace o zpracování chyb klepněte na článek číslo článku databáze Microsoft Knowledge Base:
308650Jak získat podúrovně chyby zprostředkovatele pomocí ADO.NET v Visual C# .NET
Další informace o parametry a uložené procedury klepněte na článek číslo článku databáze Microsoft Knowledge Base:
308621PRB: Výstupní parametry není vrácených při spuštění příkazu ADO.NET v Visual C# .NET
Další informace o objektech ADO.NET a syntaxi naleznete v následující Microsoft .NET Framework Software Development Kit (SDK) dokumentace:
Přístup k datům s ADO.NET
http://msdn2.microsoft.com/en-us/library/e80y5yhx(vs.71).aspx

Vlastnosti

ID článku: 311274 - Poslední aktualizace: 13. května 2007 - Revize: 3.4
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
Klíčová slova: 
kbmt kbhowtomaster kbsqlclient kbsystemdata KB311274 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:311274

Dejte nám zpětnou vazbu

 

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