Makale numarası: 309490 - Son Gözden Geçirme: 13 Mayıs 2007 Pazar - Gözden geçirme: 3.3

Visual Basic. NET'te DataReader kullanarak birden çok sonuçları tanıtıcı nasıl kullanılır

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Ö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 <a0>pubs</a0> örnek veritabanının Authors tablosu kullanır.
  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 açın.
  3. Yeni bir Visual Basic Windows Application oluşturma proje.
  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. ımports</a0> deyimini Sistem, System.Data.OLEDB ve System.Data.SqlClient ad kullanmayı kodunuzu daha sonra bu ad boşluklarında bildirimlerinde nitelemek için gerekli değildir. Form1 genel Tanımlamalar bölümüne aşağıdaki kodu ekleyin:
    Imports System
    Imports System.Data.OleDb
    Imports System.Data.SqlClient
    					
  7. "Windows Form Designer generated" bölge kod penceresinde aşağıdaki kodu ekleyin.

    Not<username>Kullanıcı KIMLIĞINI ve parolasını değiştirmek için doğru değerler, bu kodu çalıştırmadan önce = < güçlü parola >. Kullanıcı KIMLIĞI'in veritabanında bu işlemi gerçekleştirmek için uygun izinlere sahip olduğundan emin olun.
        Private Sub btnTest_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles btnTest.Click
            Dim myConnString As String = _
                    "User ID=<username>;Password=<strong password>;Initial Catalog=pubs;Data Source=myServer"
            Dim myConnection As New SqlConnection(myConnString)
            Dim myCommand As New SqlCommand()
            Dim myReader As SqlDataReader
    
            myCommand.CommandType = CommandType.StoredProcedure
            myCommand.Connection = myConnection
            myCommand.CommandText = "MyProc"
            Dim RecordCount As Integer
    
            Try
                myConnection.Open()
                myReader = myCommand.ExecuteReader
                While myReader.Read()
                    'Write logic to process data for the first result.
                    RecordCount = RecordCount + 1
                End While
                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
                End While
                 MessageBox.Show("Authors from California: " & RecordCount.ToString)
            Catch ex As Exception
                MessageBox.Show(ex.ToString())
            Finally
                myConnection.Close()
            End Try
        End Sub
    					
  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.

Başvurular

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:
306574  (http://support.microsoft.com/kb/306574/EN-US/ ) Nası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:
308043  (http://support.microsoft.com/kb/308043/EN-US/ ) Nasıl yapılır: alt Sağlayıcısı hatası, Visual Basic. NET'te 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:
308051  (http://support.microsoft.com/kb/308051/EN-US/ ) SORUN: Visual Basic. NET'te 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 (http://msdn2.microsoft.com/en-us/library/e80y5yhx(vs.71).aspx)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ADO.NET (included with the .NET Framework)
  • Microsoft ADO.NET 1.1
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowtomaster kbsqlclient kbsystemdata KB309490 KbMttr
Otomatik TercümeOtomatik Tercüme
Ö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:309490  (http://support.microsoft.com/kb/309490/en-us/ )