วันพฤหัสบดี, พฤษภาคม 27, 2553

ทิป : ใช้สโตร์โพร์ซีเยอร์ที่ซับซ้อน ทดแทนการ เรียกอ่านข้อมูลหลายรอบ

ใช้สโตร์โพร์ซีเยอร์ที่ซับซ้อน สำหรับการแสดง ชุดผลลัพธ์ต่างๆ แทนที่จะเรียกอ่านข้อมูลหลายรอบ จากสโตร์โพรซีเยอร์หลายตัว ADO .NET นำเสนอวิธีที่ง่ายขึ้น ในการทำงานร่วมกับ ชุดผลลัพธ์ หลากหลายชุด อาทิ เช่น การใช้เมทธอด NextResult() ของ ออปเจ็กต์ SqlDataReader โค้ดดังกล่าวนี้ แสดงถึงวิธีการ สำรวจค่าทุกๆ เรคคอร์ด เพื่อแสดงผลชุดผลลัพธ์

sqlDR = objDB.RunQueryReturnDR("MyStoredProcedure")
Dim arrResult(0) As String
Do
While sqlDR.Read() ' การวางตำแหน่งตัวชี้ (pointer) ไปยังเรคคอร์ดแรกสุด
i += 1
ReDim Preserve arrResult(i)
arrResult(i) = sqlDR("ProductNumber")
End While
Loop While (sqlDR.NextResult())
' เลื่อนไปยัง ชุดผลลัพธ์ถัดไป

ถ้าจะให้ดี ให้เขียนสโตร์โพรซีเยอร์ เป็นแบทช์ ที่สัมพันธ์กับชุดผลลัพธ์ วิธีนี้จะช่วยใข้ลดการสัญจรบนเครือข่ายและ ช่วยลดภาระงานบน เซิรฟเวอร์ฐานข้อมูลได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น