1
ห้อง Ms Access อื่นๆ / : ติดต่อฐานข้อมูล access ไม่ได้ครับ
« เมื่อ: 21 มิ.ย. 63 , 18:09:28 »
ออกตัวไว้ก่อนว่าไม่รู้เรื่องอะไรของ .NET เลยนะครับ แต่ไปอ่านหัวข้อ Remarks ของ OleDbDataReader.Read Method ใน https://docs.microsoft.com/en-us/dotnet/api/system.data.oledb.oledbdatareader.read?view=dotnet-plat-ext-3.1#System_Data_OleDb_OleDbDataReader_Read เขาบอกว่า ตำแหน่งแรกของ OleDbDataReader object จะอยู่ก่อนเรคอร์ดแรก ดังนั้นต้องสั่ง Read method ของ OleDbDataReader object เพื่อดึงเรคอร์ดต่อไป(ซึ่งก็จะทำให้ได้เรคอร์ดแรก)ก่อนอ้างอิงฟิลด์ด้วย โค้ดของคุณ ถ้าอ่านเรคอร์ดแรกเรคอร์ดเดียว ก็ควรเป็นคำสั่ง dr.Read() แทนที่ 'While dt.Read() ยังไงก็ตาม ปกติแล้วก็ควรทดสอบว่ามีเรคอร์ดก่อนอ่านจริงด้วยคำสั่ง If dr.HasRows Then อยู่ด้วย
โพสต์นี้ได้รับคำขอบคุณจาก: treethep