Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

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

Ö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
Bu makalenin Microsoft Visual Basic .NET sürümü için bkz: 309490.

Bu makalede, aşağıdaki Microsoft .NET Framework Sınıf Kitaplığı ad alanlarına başvurulmaktadır:
  • System.Data.OLEDB
  • System.Data.SqlClient

Bu görevde

Ö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.

back to the top

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.

back to the top

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
back to the top

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 MyProcAS    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.
back to the top
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: back to the top
NextResult

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 311274 - Son İnceleme: 05/13/2007 05:02:37 - Düzeltme: 3.4

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

  • kbmt kbhowtomaster kbsqlclient kbsystemdata KB311274 KbMttr
Geri bildirim