วิธีการจัดการผลลัพธ์หลายตัว โดยใช้ DataReader ที่ใน Visual C#สุทธิ

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 311274 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความนี้ประกอบด้วยฟังก์ชันทั่วไปที่คุณสามารถใช้ การประมวลผลหลายระเบียนและข้อความอื่น ๆ ที่ส่งคืนจากที่เก็บไว้ กระบวนการหรือการดำเนินการคำสั่ง SQL ของชุดงาน

คำอธิบายของเทคนิค

ActiveX Data Objects (ADO) สามารถรับห้าชนิดต่าง ๆ ข้อมูลจากเซิร์ฟเวอร์:
  • ชุดระเบียน
  • หมายเลขของเร็กคอร์ดที่จะถูกแก้ไข โดยแบบสอบถามแอคชัน (เช่น INSERT, UPDATE, DELETE หรือเลือกลงใน)
  • ข้อความที่ให้ข้อมูลหรือคำเตือน
  • ข้อความแสดงข้อผิดพลาด
  • ค่าที่ส่งกลับของกระบวนงานที่เก็บไว้และผลผลิต พารามิเตอร์
เมื่อคุณอ่านผลลัพธ์ของชุดคำสั่ง SQL คุณสามารถใช้ ที่NextResultวิธีการกำหนดตำแหน่งDataReaderเมื่อผลลัพธ์ถัดไปใน resultset

ความต้องการ

ฮาร์ดแวร์แนะนำ ซอฟต์แวร์ ให้คำอธิบายเกี่ยวกับรายการต่อไปนี้ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่คุณต้องการ:
  • Microsoft Windows 2000 Professional, Windows 2000 Server Windows 2000 Server หรือ Windows NT 4.0 Server การขั้นสูง
  • Microsoft Visual Studioสุทธิ
  • Microsoft SQL Server 7.0 หรือรุ่นที่ใหม่กว่า
บทความนี้อนุมานว่า คุณคุ้นเคยกับต่อไปนี้ หัวข้อ:
  • Visual Studioสุทธิ
  • ADOข้อมูลพื้นฐานของเดสก์ท็อปสุทธิและไวยากรณ์

สร้างโครงการ และเพิ่มรหัส

โค้ดตัวอย่างนี้ใช้สารบัญผู้เขียนของ Pubs เซิร์ฟเวอร์ SQL ฐานข้อมูลตัวอย่าง
  1. วางคำสั่งต่อไปนี้ลงในตัววิเคราะห์คำถาม SQL เครื่องมือหรือยูทิลิตี้ ISQL:
    CREATE PROC MyProc
    AS
        SELECT * FROM Authors
        SELECT * FROM Authors WHERE State = 'CA'
    GO 
    					
  2. เริ่มการทำงานของ Visual Studioสุทธิ
  3. สร้างแอพลิเคชัน Windows โครงการใหม่ใน Visual C#สุทธิ Form1 ถูกเพิ่มไปโครงการตามค่าเริ่มต้น
  4. ตรวจสอบให้แน่ใจว่า โครงการของคุณประกอบด้วยการอ้างอิงไปยังSystem.Datanamespace และเพิ่มการอ้างอิงถึงสเปซนี้ถ้ามี ไม่
  5. สถานคำสั่งปุ่มบน Form1 การเปลี่ยนแปลงชื่อคุณสมบัติของปุ่มเพื่อbtnTestและ การเปลี่ยนแปลงข้อความคุณสมบัติการการทดสอบ.
  6. ใช้การการใช้คำสั่งบนเครื่องระบบ,System.Data.OleDbและSystem.Data.SqlClientnamespaces ดังนั้นคุณไม่จำเป็นต้องจะได้รับการประกาศ ใน namespaces เหล่านั้นในภายหลังในรหัสของคุณ เพิ่มรหัสต่อไปนี้เป็นการทั่วไป ประกาศส่วนของ Form1:
    using System;
    using System.Data.OleDb;
    using System.Data.SqlClient;
    					
  7. เพิ่มรหัสต่อไปนี้ไปยังbtnTest_Clickเหตุการณ์:

    หมายเหตุคุณต้องเปลี่ยน ID ผู้ใช้ <user name="">บัญชีค่าเพื่อใช้บัญชีที่มีสิทธิ์ที่เหมาะสมกับ ทำการดำเนินการเหล่านี้ในฐานข้อมูล</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. การปรับเปลี่ยน(สายอักขระการเชื่อมต่อmyConnString) ตามความเหมาะสมสำหรับสภาพแวดล้อมของคุณ
  9. บันทึกโครงการของคุณ บนเครื่องตรวจแก้จุดบกพร่องเมนู คลิกเริ่มการทำงานเมื่อต้องการเรียกใช้โครงการของคุณ
  10. คลิกการทดสอบ. ขอให้สังเกตว่า กล่องข้อความที่แสดงข้อมูลที่เก็บไว้ที่ กระบวนงานที่ส่งกลับ

ข้อมูลอ้างอิง

สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับการเรียกกระบวนงานที่เก็บ คลิกบทความ หมายเลขด้านล่างนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
306574วิธีการติดต่อ SQL Server เก็บขั้นตอนใน ASPสุทธิ
สำหรับข้อมูลเพิ่มเติม เกี่ยวกับการจัดการข้อผิดพลาด ให้คลิกหมายเลขบทความด้านล่างเพื่อดูบทความในการ ฐานความรู้ของ Microsoft:
308650วิธีการขอรับข้อผิดพลาดของผู้ให้บริการพื้นฐาน โดยใช้ ADOสุทธิใน Visual C#สุทธิ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์ และ กระบวนงานที่เก็บ คลิกหมายเลขบทความด้านล่างเพื่อดูบทความในการ ฐานความรู้ของ Microsoft:
308621PRB: พารามิเตอร์ขาออกไม่กลับเมื่อคุณเรียกใช้ ADO ข้อสุทธิการสั่งใน Visual C#สุทธิ
สำหรับข้อมูลเพิ่มเติมบน ADOวัตถุสุทธิและไวยากรณ์ ให้อ้างอิงถึงเว็บไซต์ Microsoft ต่อไปนี้NET Framework ซอฟต์แวร์ Development Kit (SDK) เอกสารประกอบ:
การเข้าถึงข้อมูล ด้วย ADOสุทธิ
http://msdn2.microsoft.com/en-us/library/e80y5yhx (vs.71) .aspx

คุณสมบัติ

หมายเลขบทความ (Article ID): 311274 - รีวิวครั้งสุดท้าย: 31 มกราคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft ADO.NET 1.1
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbhowtomaster kbsqlclient kbsystemdata kbmt KB311274 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:311274

ให้ข้อเสนอแนะ

 

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