Using Transaction
การเขียนโปรแกรมในการที่ต้องติดต่อฐานข้อมูลไม่ว่าจะเป็นภาษาอะไรก็ตามนั้น มีความจำเป็นต้องเขียนโปรแกรมให้ Script ต่างๆเหล่านั้น Run ให้เสร็จสมบูรณ์ มิเช่นนั้นระบบอาจได้ข้อมูลที่ไม่ครบถ้วนได้
สมมติเหตุการณ์ ถ้านาย A เป็นพนักงานธนาคารและกำลังทำการนำเงินของลูกค้านาย B เข้าระบบอยู่จังหวะนั้นเกิดไฟดับขึ้น แล้วโปรแกรมที่กำลังทำการเข้าเงินนั้นยังทำไม่สมบูรณ์ ทำให้ข้อมูลของนาย B นั้นไม่สมบูรณ์
ข้อดีของการใช้ Transaction คือทำให้กรณีที่โปรแกรมทำงานได้ไม่สมบูรณ์จะทำการ Rollback (ไม่ใช่ของโลตัสนะ เหอะๆ) ข้อมูลที่เราทำไว้ทั้งหมดคืน เป็นเหมือนก่อนที่เราจะเริ่มรันโปรแกรม
1. ประกาศตัวแปร Transaction
Dim SqlTran as SqlTransaction หรือ Dim OleTran as OledbTransaction
2. เปิดการใช้งาน Connection
Conn.open
3. เริ่มงานใช้งาน Transaction
SqlTran = Conn.BeginTransaction หรือ OleTran = Conn.BeginTransaction
4. กำหนดให้ Adapter ทั้งหลายเข้ามาใช้งานในระดับ Transaction
sqlCommand.Transaction = SqlTran ' @@ กรณีที่ใช้เป็น Command
sqlAdapter.SelectCommand.Transaction = SqlTran ' @@ กรณีที่ใช้เป็น Adapter
5. ยืนยันว่าระบบทำการได้ครบถ้วน
SqlTran.Commit()
6. ปิดการเชื่อมต่อ
Conn.close
สมมติเหตุการณ์ ถ้านาย A เป็นพนักงานธนาคารและกำลังทำการนำเงินของลูกค้านาย B เข้าระบบอยู่จังหวะนั้นเกิดไฟดับขึ้น แล้วโปรแกรมที่กำลังทำการเข้าเงินนั้นยังทำไม่สมบูรณ์ ทำให้ข้อมูลของนาย B นั้นไม่สมบูรณ์
ข้อดีของการใช้ Transaction คือทำให้กรณีที่โปรแกรมทำงานได้ไม่สมบูรณ์จะทำการ Rollback (ไม่ใช่ของโลตัสนะ เหอะๆ) ข้อมูลที่เราทำไว้ทั้งหมดคืน เป็นเหมือนก่อนที่เราจะเริ่มรันโปรแกรม
1. ประกาศตัวแปร Transaction
Dim SqlTran as SqlTransaction หรือ Dim OleTran as OledbTransaction
2. เปิดการใช้งาน Connection
Conn.open
3. เริ่มงานใช้งาน Transaction
SqlTran = Conn.BeginTransaction หรือ OleTran = Conn.BeginTransaction
4. กำหนดให้ Adapter ทั้งหลายเข้ามาใช้งานในระดับ Transaction
sqlCommand.Transaction = SqlTran ' @@ กรณีที่ใช้เป็น Command
sqlAdapter.SelectCommand.Transaction = SqlTran ' @@ กรณีที่ใช้เป็น Adapter
5. ยืนยันว่าระบบทำการได้ครบถ้วน
SqlTran.Commit()
6. ปิดการเชื่อมต่อ
Conn.close
Comments
Post a Comment