Làm th? nào đ? x? l? nhi?u k?t qu? b?ng cách s? d?ng DataReader trong Visual C#.NET

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 311274 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Bài vi?t này ch?a hàm chung chung mà b?n có th? s? d?ng đ? x? l? nhi?u recordsets và các tin nh?n khác đư?c tr? v? t? lưu tr? th? t?c ho?c th?c hi?n đ?t SQL phát bi?u.

Mô t? k? thu?t

ActiveX Data Objects (ADO) có th? nh?n đư?c 5 lo?i khác nhau c?a d? li?u t? máy ch?:
  • RecordSet
  • S? h? sơ đư?c thay đ?i b?i m?t truy v?n hành đ?ng (ví d? như INSERT, UPDATE, DELETE, ho?c ch?n vào)
  • Thông tin thư ho?c c?nh báo
  • Thông báo lỗi
  • Giá tr? tr? l?i th? t?c đư?c lưu tr? và đ?u ra tham s?
Khi b?n đ?c các k?t qu? c?a m?t lo?t các l?nh SQL, b?n có th? s? d?ng các NextResult phương pháp đ? đ?nh v? các DataReader và k?t qu? ti?p theo trong resultset.

Yêu c?u

Danh sách sau v?ch ra đư?c đ? ngh? ph?n c?ng, ph?n m?m, h? t?ng m?ng, và gói d?ch v? mà b?n c?n:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server, ho?c máy ch? Windows NT 4.0
  • Microsoft Visual Studio.NET
  • Microsoft SQL Server 7.0 ho?c cao hơn
Bài vi?t này gi? đ?nh r?ng b?n đ? quen thu?c v?i sau các ch? đ?:
  • Visual Studio.NET
  • ADO.Nguyên t?c cơ b?n NET và cú pháp

T?o d? án và thêm m?

M? m?u này s? d?ng các tác gi? b?ng SQL máy ch? quán rư?u m?u cơ s? d? li?u.
  1. Dán các câu sau đây vào phân tích truy v?n SQL công c? ho?c ti?n ích ISQL:
    CREATE PROC MyProc
    AS
        SELECT * FROM Authors
        SELECT * FROM Authors WHERE State = 'CA'
    GO 
    					
  2. B?t đ?u Visual Studio.NET.
  3. T?o m?t d? án ?ng d?ng Windows m?i trong Visual C#.NET. Form1 s? đư?c thêm vào các d? án theo m?c đ?nh.
  4. Đ?m b?o r?ng d? án c?a b?n có ch?a m?t tham chi?u đ?n các System.Data không gian tên, và thêm m?t tham chi?u đ?n không gian tên này n?u có không.
  5. Nơi m?t Ch? huy nút trên Form1. Thay đ?i các Tên tài s?n c?a các nút đ? btnTest, và thay đ?i các Văn b?n b?t đ?ng s?n đ? Test.
  6. S? d?ng các b?ng cách s? d?ng tuyên b? v? s? Các vấn đề, System.Data.OleDb, và System.Data.SqlClient không gian tên do đó b?n không ph?i vư?t qua v?ng lo?i t? khai trong nh?ng không gian tên sau trong m? c?a b?n. Thêm m? sau vào v? tư?ng Khai báo ph?n c?a Form1:
    using System;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    					
  7. Thêm m? sau đây đ? các btnTest_Click s? ki?n:

    Chú ý B?n ph?i thay đ?i ID ngư?i dùng <user name="">Tài kho?n giá tr? sang trương m?c có quy?n thích h?p đ? th?c hi?n các ho?t đ?ng trên cơ s? d? li?u.</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. S?a đ?i (chu?i) k?t n?imyConnString) phù h?p v?i môi trư?ng c?a b?n.
  9. Lưu d? án c?a b?n. Trên các G? l?i tr?nh đơn, nh?p vào B?t đ?u đ? ch?y d? án c?a b?n.
  10. Nh?p vào Test. Thông báo r?ng các h?p thông đi?p s? hi?n th? các d? li?u đó là đư?c lưu tr? tr? v? th? t?c.

THAM KH?O

Cho thông tin thêm v? cách g?i th? t?c đư?c lưu tr?, Click vào bài vi?t s? dư?i đây đ? xem bài vi?t trong cơ s? ki?n th?c Microsoft:
306574 Làm th? nào đ? g?i SQL máy ch? lưu tr? th? t?c trong ASP.NET
Đ? thêm thông tin v? qu?n l? l?i, b?m vào s? bài vi?t dư?i đây đ? xem các bài vi?t trong các Cơ s? ki?n th?c Microsoft:
308650 Làm th? nào đ? có đư?c n?m bên dư?i nhà cung c?p l?i b?ng cách s? d?ng ADO.NET trong Visual C#.NET
Đ? thêm thông tin v? các thông s? và th? t?c đư?c lưu tr?, nh?n s? bài vi?t dư?i đây đ? xem các bài vi?t trong các Cơ s? ki?n th?c Microsoft:
308621 PRB: Các thông s? đ?u ra không tr? l?i khi b?n ch?y m?t ADO.NET l?nh trong Visual C#.NET
Đ? bi?t thêm chi ti?t v? ADO.Các đ?i tư?ng NET và cú pháp, ch? đ?n Microsoft sau.NET Framework Kit phát tri?n ph?n m?m (SDK) tài li?u:
Truy c?p vào d? li?u v?i ADO.NET
http://msdn2.Microsoft.com/en-US/Library/e80y5yhx (vs.71) .aspx

Thu?c tính

ID c?a bài: 311274 - L?n xem xét sau cùng: 27 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
T? khóa: 
kbhowtomaster kbsqlclient kbsystemdata kbmt KB311274 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:311274

Cung cấp Phản hồi

 

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