เมื่อมีการ UpdateBatch ด้วย ADODB แล้วการใช้ข้อมูลในบรรทัดถัดไปมีปัญหา

เมื่อเรามีการ update ข้อมูลเป็นชุดลง MS Access ปรากฏว่าการ query ในบรรทัดถัดไป ข้อมูลยัง update ไม่ทัน ให้ลองใช้คำสั่ง .Requery หลังการ update ก่อน query ครั้งถัดไป เช่น

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"


Dim objRs1 As ADODB.Recordset
objRs1.Open "SELECT ShipperId, CompanyName, Phone FROM Shippers", conn, adOpenStatic, adLockBatchOptimistic, adCmdText 

objRs1.AddNew  
objRs1(1) = "New Shipper A" 
objRs1(2) = "555-5555555" 

objRs1.UpdateBatch

objRs1.Requery

delCmd="DELETE FROM ShippersWHERE Phone = '555-5555555'"
conn.Execute delCmd


Ref. Cher

  • https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/updatebatch-and-cancelbatch-methods-example-vb?view=sql-server-2017
  • https://docs.microsoft.com/en-us/sql/ado/guide/data/sending-the-updates-updatebatch-method?view=sql-server-2017


Comments