Nasıl yapılır: DataReader Visual C# .NET kullanarak birden çok sonuçları tanıtıcı

Makale çevirileri Makale çevirileri
Makale numarası: 311274 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makale, birden çok kayıt kümeleri ve saklı yordam veya SQL deyimlerini toplu iş yürütmesini döndürdü diğer iletileri işlemek için kullanabileceğiniz genel bir işlev içerir.

Tekniğin Açıklaması

ActiveX Data Objects (ADO), beş farklı veri türleri sunucudan alabilir:
  • Recordset
  • Eylem sorgusu (örneğin, INSERT, UPDATE, DELETE ve SELECT INTO) tarafından değiştirilen kayıt sayısı
  • Bilgi iletisi veya uyarı
  • Hata iletisi
  • Saklı yordamın dönüş değerleri ve çıkış parametreleri
Bir SQL deyimi toplu sonuçlarını okuduğunuzda, at the resultset sonraki sonucu DataReader konumlandırmak için NextResult yöntemini kullanabilirsiniz.

Gereksinimler

Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows Server veya Windows NT 4.0 Server 2000 Advanced
  • Microsoft Visual Studio. NET'i
  • Microsoft SQL Server 7.0 veya sonrası
Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:
  • Visual Studio .NET
  • ADO.NET temelleri ve sözdizimi

Proje oluşturmak ve kodu ekleme

Bu örnek kod, SQL Server Pubs Authors tablosu kullanır Örnek veritabanı.
  1. Aşağıdaki SQL Query Analyzer ' yapıştırın ya da ISQL yardımcı programı aracını:
    CREATE PROC MyProc
    AS
        SELECT * FROM Authors
        SELECT * FROM Authors WHERE State = 'CA'
    GO 
    					
  2. Visual Studio .NET'i başlatın.
  3. Yeni bir Windows uygulaması projesi, Visual C# .NET ile oluşturun. Form1, varsayılan olarak projeye eklenir.
  4. Projenizi System.Data ad boşluğuna başvuru içerdiğinden emin olun ve yoksa, bu ad için bir başvuru ekleyin.
  5. Bir komut düğmesi Form1'ın getirin. Name özelliği düğmenin btnTest için değiştirmek ve sınama için metin özelliği değiştirme.
  6. Kodunuzu daha sonra bu ad boşluklarında bildirimlerinde nitelemek için gerekli değildir, kullanarakSistem, System.Data.OLEDB ve System.Data.SqlClient ad kullanmak. Form1 genel Tanımlamalar bölümüne aşağıdaki kodu ekleyin:
    using System;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    					
  7. Aşağıdaki kod btnTest_Click olayına ekleyin:

    NotVeritabanında bu işlemleri gerçekleştirmek için uygun izinlere sahip bir hesap için kullanıcı KIMLIĞI < kullanıcı adı > hesabının değeri değiştirmeniz gerekir.
        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. Bağlantı dizesi (myConnString) ortamınıza uygun olarak değiştirin.
  9. Projenizi kaydetmek. Hata Ayıkla) menüsünde, projenizin çalıştırmak için Başlat ' ı tıklatın.
  10. Sına ' yı tıklatın. Ileti kutularını saklı yordamın döndürdüğü verileri görüntülemesini dikkat edin.

Referanslar

Saklı yordamlar arama hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
306574Nasıl yapılır: SQL Server'ı Çağır yordamlar ASP.NET'te depolanmış.
Hata işleme hakkında ek bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
308650Nasıl yapılır: alt Sağlayıcısı hatası, Visual C# .NET ADO.NET kullanarak elde edilir
Parametreleri ve saklı yordamlar hakkında ek bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
308621SORUN: Visual C# .NET ile bir ADO.NET komut çalıştırdığınızda çıkış parametreleri döndürülüyor.
ADO.NET nesneleri ve sözdizimi hakkında daha fazla bilgi için aşağıdaki Microsoft .NET Framework Software Development Kit'e (SDK için) başvuran belgeler:
ADO.NET ile verilere erişme
http://msdn2.microsoft.com/en-us/library/e80y5yhx(vs.71).aspx

Özellikler

Makale numarası: 311274 - Last Review: 13 Mayıs 2007 Pazar - Gözden geçirme: 3.4
Bu makaledeki bilginin uygulandığı durum:
  • 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
Anahtar Kelimeler: 
kbmt kbhowtomaster kbsqlclient kbsystemdata KB311274 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:311274

Geri Bildirim Ver

 

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