ยอมให้ทีเดียว

   
ผมเขียนโปรแกรมบน LAN โดยเวลาแก้ไขข้อมูล ผมจะCopyข้อมูลทั้งหมดมาที่ drive c: ข้อมูลจะมีสองไฟล์ ไฟล์แรกจะทำการ
RLOCK() สำเร็จก็ไป RLOCK()ไฟล์ที่สองที่สัมพันธ์กับไฟล์ที่หนึ่งซึ่งจะมีหลายรายการ ถ้าสำเร็จก็ทำการแก้ที่ c: จนสำเร็จแล้ว
เวลา Save ก็จะไปลบข้อมูลบนServeของไฟล์ที่สอง ที่ดึงมาแก้ไขให้หมด แล้ว APPE จาก c: เข้าไปแทนที่ แต่ทุกที่กำหนด
buffer เป็น 3 เวลาลบก็ใช้ REPLACE Fieldให้เป็น Blank แล้วตามด้วย DELE แล้ววนลูปจนหมดrecordที่ต้องการลบ แต่พอกำหนด Buffer เป็น 5 วนลูปไม่ได้ ยอมให้ครั้งเดียวแล้วออกจากลูปเลยทำให้ Clear ข้อมูลไม่สำเร็จ จะแก้ไขได้อย่างไรครับ และจริงๆแล้ว วิธีที่ถูกในการเขียนบนLAN เข้าทำแบบผมหรือเปล่าครับช่วยแนะนำหน่อยครับ

ขอบคุณครับ
Moo
Moo
6 พ.ค. 45 เวลา 23:21:59 น. --> 203.155.35.89,
   
   
ไม่ทราบว่าคุณ Moo Replace ข้อมูลที่ Field ที่ใช้เป็น index หรือเปล่าครับ เช่น เราสั่งให้ order ตาม Code พอ Code ที่เคยมีข้อมูลแล้วกลายเป็น Blank มันเลยเรียงให้ใหม่โดยเอาไปไว้ที่ Record สุดท้ายก่อนที่จะทำคำส่ง Delete อีกครั้งครับ
pt
7 พ.ค. 45 เวลา 11:24:07 น. --> 203.155.35.89,
  
   
ใช่ครับ Field ที่ Replace Blank จะเป็น Index แล้วก็ให้วน
ลูปจน Seek() ไม่เจอ แล้วก็ Exit จากลูป แต่ทุกครั้งที่กำหนด buffer เป็น 5 ในData session ก็จะไม่สามารถวนลูปได้ครบ จะเจอครั้งเดียวแล้วก็หลุดออกจากลูปไป
Do while .T.
if seek(exp)
repl field with space(10)
dele
else
exit
endif
enddo
Moo
7 พ.ค. 45 เวลา 19:33:50 น. --> 203.146.223.81,
  
   
ในกรณีที่คุณใช้ Buffer mode ของ Visua Foxpro
คุณไม่จำเป็นต้อง Copy ข้อมูลจาก Network Drive
มาไว้ที่ Local Drive ครับ [ ปล่อยให้เป็นหน้าที่ของ
Database Engine ครับ จงเชื่อมั่น :-) ] ทางที่ดี
ควรใช้ Transaction ร่วมกับ Buferring ครับ
ลองอ่าน Help ที่หัวข้อ Updating Data เพิ่มเติมนะครับ

ผมตัดมาให้อ่านบางส่วน....

Managing Updates with Transactions

Even with buffering, things can go wrong. If you want to protect update operations and recover from an entire section of code as a unit, use transactions.

Adding transactions to your application provides protection beyond Visual FoxPro record and table buffering by placing an entire section of code in a protected, recoverable unit. You can nest transactions and use them to protect buffered updates. Visual FoxPro transactions are available only with tables and views contained in a database.


หมาป่าหลงทาง
9 พ.ค. 45 เวลา 16:41:22 น. --> 202.22.63.21, s
  
ขอเชิญร่วมตอบคำถามครับ
 
ผู้ตอบ :
รหัสผ่าน :
รูปภาพ :
คำตอบ :