ฉันมักจะพัฒนา ASP แต่ฉันไม่รู้ความจริงเกี่ยวกับคำแถลงโดยละเอียด ฉันจะแนะนำสั้น ๆ ที่นี่
ภายใต้สถานการณ์ปกติ
อ่านข้อมูลโดยใช้ Rs.Open SQL, Conn, 1,1
แก้ไขข้อมูล: Rs.Open SQL, Conn, 1,3
ลบข้อมูล: conn.execute โดยตรง ("ลบ * จากใหม่โดยที่ id = 1") และอื่น ๆ
Rs.Open ไวยากรณ์มีดังนี้: Rs.Open Source, Activeconnection, Cursortype, Locktype
แหล่งที่มาคือคำสั่ง SQL, ActiveConnection คือการเชื่อมต่อฐานข้อมูล Cursortype เป็นเคอร์เซอร์และ LockType เป็นประเภทล็อคข้อมูล
เคอร์สโคป
คำอธิบายคงที่
Adopinforwardonly (ค่า 0) (ค่าเริ่มต้น) เปิดเคอร์เซอร์ประเภทไปข้างหน้าเท่านั้น
AdopenKeySet (ค่า 1) เปิดเคอร์เซอร์ประเภทคีย์
Adopendynamic (ค่า 2) เปิดเคอร์เซอร์ประเภทแบบไดนามิก
Adopenstatic (ค่า 3) เปิดเคอร์เซอร์ที่พิมพ์แบบคงที่
การล็อค
คำอธิบายคงที่
ADLOCKREADONLY (ค่า 1) (ค่าเริ่มต้น) อ่านอย่างเดียว-ข้อมูลการเปลี่ยนแปลงรหัส
AdlockPessimistic (ค่า 2) การล็อคอนุรักษ์นิยม (BY-ONE)-ผู้ให้บริการทำงานที่จำเป็นเพื่อให้แน่ใจว่าการแก้ไขบันทึกที่ประสบความสำเร็จโดยปกติโดยการล็อคบันทึกจากแหล่งข้อมูลทันทีเมื่อแก้ไข
ADLOCKOPTIMISTIC (ค่า 3) เปิดล็อค (BY-ONE)-ผู้ให้บริการใช้การล็อคแบบเปิดเพื่อล็อคเร็กคอร์ดเฉพาะเมื่อมีการเรียกวิธีการอัปเดตเท่านั้น
Adlockbatchoptimistic (ค่า 4) เปิดการอัปเดตแบทช์ - ใช้โหมดการอัปเดตแบทช์ (ตรงข้ามกับโหมดการอัปเดตตอนนี้)
เคอร์สโคป
0 เท่านั้นเคอร์เซอร์ไปข้างหน้าเท่านั้นบันทึกการท่องเว็บไปข้างหน้าเท่านั้นและไม่รองรับการแบ่งหน้า
1 เคอร์เซอร์ชุดคีย์การดัดแปลงที่ผู้ใช้รายอื่นทำไว้ในบันทึกจะปรากฏในชุดระเบียน แต่ผู้ใช้รายอื่นเพิ่มหรือลบระเบียนจะไม่ถูกสะท้อนในชุดระเบียน รองรับการปนเปื้อน, recordset, บุ๊กมาร์ก
2 เคอร์เซอร์แบบไดนามิกมีฟังก์ชั่นที่แข็งแกร่งที่สุด แต่ยังใช้ทรัพยากรมากที่สุด การดัดแปลงการเพิ่มหรือการลบบันทึกโดยผู้ใช้ในบันทึกจะสะท้อนให้เห็นในชุดระเบียน สนับสนุนการเรียกดูแบบเต็มรูปแบบ
3 เคอร์เซอร์แบบคงที่เป็นเพียงภาพรวมของข้อมูล การดัดแปลงที่ทำโดยผู้ใช้ในการบันทึกการเพิ่มหรือการลบบันทึกจะไม่ถูกสะท้อนในชุดระเบียน สนับสนุนการเคลื่อนไหวไปข้างหน้าหรือย้อนหลัง
การล็อค
LockType เป็นประเภทล็อคของชุดระเบียนและค่าของมันคือ:
1 ประเภทล็อค, ค่าเริ่มต้น, อ่านอย่างเดียว, ไม่สามารถแก้ไขได้
2 ล็อคบันทึกทันทีเมื่อแก้ไขวิธีที่ปลอดภัยที่สุด
3 ชุดระเบียนจะถูกล็อคเฉพาะเมื่อมีการเรียกใช้วิธีการอัปเดตและการดำเนินการก่อนหน้านี้อื่น ๆ ยังสามารถเปลี่ยนแปลงแทรกและลบบันทึกปัจจุบัน ฯลฯ
4 ระเบียนจะไม่ถูกล็อคเมื่อแก้ไข แต่มีการเปลี่ยนแปลงแทรกและลบ
Rs.Open SQL, Conn, 3,2
สองนี้เป็นเคอร์เซอร์และฟังก์ชั่นเฉพาะของพวกเขาคือ:
Rs.Open SQL, Conn, A, B
A:
นำไปสู่การอ่านล่วงหน้า (= 0)
อ่านอย่างเดียวและบันทึกข้อมูลปัจจุบันสามารถเคลื่อนย้ายลงได้เท่านั้น
AdopenKeySet (= 1)
อ่านอย่างเดียวบันทึกข้อมูลปัจจุบันสามารถเคลื่อนย้ายได้อย่างอิสระ
Adopendynamic (= 2)
อ่านได้และเขียนได้บันทึกข้อมูลปัจจุบันสามารถเคลื่อนย้ายได้อย่างอิสระ
Adopenstatic (= 3)
อ่านได้และเขียนได้บันทึกข้อมูลปัจจุบันสามารถเคลื่อนย้ายได้อย่างอิสระและสามารถดูระเบียนใหม่ได้
B:
AdlockReadonly (= 1)
ประเภทล็อคเริ่มต้นเป็นแบบอ่านอย่างเดียวและไม่สามารถแก้ไขบันทึกได้
AdlockPessimistic (= 2)
การล็อคในแง่ร้ายเมื่อมีการแก้ไขบันทึกผู้ให้บริการข้อมูลจะพยายามล็อคบันทึกเพื่อให้แน่ใจว่าการแก้ไขบันทึกที่ประสบความสำเร็จ ตราบใดที่การแก้ไขเริ่มต้นขึ้นเร็กคอร์ดจะถูกล็อคทันที
Adlockoptimistic (= 3)
การล็อคในแง่ดีบันทึกจะไม่ถูกล็อคจนกว่าจะมีการส่งบันทึกการอัปเดตโดยใช้วิธีการอัปเดต