Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > VB.NET สอบถามเกี่ยวกับ DataReader ในกรณีที่มีการ Read 2 ครั้ง



 

VB.NET สอบถามเกี่ยวกับ DataReader ในกรณีที่มีการ Read 2 ครั้ง

 



Topic : 095171



โพสกระทู้ ( 153 )
บทความ ( 0 )



สถานะออฟไลน์




จะทำการ select ข้อมูล ซึ่งทีแรกจะ select รหัสที่มีการมารับบริการมากกว่า 1 ครั้งก่อน แล้วจึงจะเอารหัสที่ได้มาวนลูปเพื่อดึงรายละเอียดเข้ามาแสดงใน Datagridviwe เดิมทีใช้วิธีการ select ซ้อน Select แต่การคิวรี่ข้อมูลช้ามากก็เลยจะเปลี่ยนใหม่แต่ติดปัญหาที่ ต้องExecuteReader 2 ครั้ง ไม่ทราบว่ามีวิธีอื่นอีกหรือเปล่าที่จะจัดการกับปัญหานี้
ตัวอย่างโค้ดที่ทำแล้วมัน Error (มันฟ้องบอกว่า Reader ยังไม่เปิด)

Code (VB.NET)
    Dim myDr As MySqlDataReader
    Dim myDrEr As MySqlDataReader
    Dim erRow As Integer = 0
        If objConn.State = ConnectionState.Open Then
            objConn.Close()
        End If
        Try
            objConn.ConnectionString = strConn
            objConn.Open()
        Catch
            MessageBox.Show("ไม่สารมารถติดต่อฐานข้อมูลได้กรุณาติดต่อผู้ดูแลระบบ")
            End
        End Try

        strSQL = "select hn from opddata where dep1 = '021'  AND left(icd10,1)<>'Z' and rdate between ('" & beginD & "') and ('" & endD & "') GROUP BY hn HAVING COUNT(hn) >1 order by hn "
        myCom = New MySqlCommand(strSQL, objConn)
        myDr = myCom.ExecuteReader
        
        While myDr.Read
            strSql1 = "select hn, rdate, name, icd10, icdName1 from opddata " & _
            " where hn = '" & myDr("hn") & "' and dep1 = '021'  AND left(icd10,1)<>'Z' and rdate between ('" & beginD & "') and ('" & endD & "')"
            myCom = New MySqlCommand(strSql1, objConn)
            myDrEr = myCom.ExecuteReader

            While myDrEr.Read
                DataGridView3.Rows.Add()
                DataGridView3.Item(0, erRow).Value = myDrEr("hn")
                DataGridView3.Item(1, erRow).Value = myDrEr("rdate")
                DataGridView3.Item(2, erRow).Value = myDrEr("name")
                DataGridView3.Item(3, erRow).Value = myDrEr("icd10")
                DataGridView3.Item(4, erRow).Value = myDrEr("icdName1")
                erRow += 1
            End While

            myDrEr.Close()

        End While

        myDr.Close()

***** รบกวนด้วยน่ะค่ะ *****



Tag : .NET, MySQL, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-14 16:17:40 By : MooT View : 1786 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

เปลี่ยนไปใช้ตัวอื่นแทนก็ได้นี่ครับ DataTable ก็ได้สบาย ๆ ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-14 17:07:27 By : mr.win
 


 

No. 2

Guest


ต้อง con.open 2 ครั้ง
เช่น con1.open con2.open con2.close con1.close

ลองดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-14 23:54:58 By : amj
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : VB.NET สอบถามเกี่ยวกับ DataReader ในกรณีที่มีการ Read 2 ครั้ง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

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

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่