7.4 การเขียนสคริปท์ที่ดึงข้อมูล, เพิ่มเรคคอร์ด, ลบเรคคอร์ด และปรับปรุงข้อมูล |
IF Dw_master.retreive() <> -1 then
Dw_master.setfocus() Dw_master.setrowfocusindicator(Hand!) End if |
5. คลิก Select Event List Box เลือก ue_insert
6. พิมพ์
dw_detail.reset()
dw_detail.insertrow(0) dw_detail.setfocus() |
7. คลิก Select Event List Box เลือก ue_update
8. พิมพ์
if dw_detail.update() = 1 then
commit using sqlca; messagebox("Save","Save succeeded") else rollback using sqlca end if |
9. คลิก Select Event List Box เลือก ue_delete
10. พิมพ์
dw_detail.deleterow() |
11. ทำการคอมไพล์สคริปท์ เลือกเมนู Design > Complie จากเมนู
ขณะนี้ท่านกำลังจะเขียนสคริปท์ที่เรียกใช้เหตุการณ์ User Event ที่ชื่อว่า ue_retrieve ในการเรียกใช้เหตุการณ์ ue_retrieve นี้จะเรียกใช้จากเหตุการณ์ Open ซึ่งจะทำงานเมื่อวินโดว์ออบเจ็คท์เปิดทำงาน ท่านต้องแน่ใจก่อนว่าท่านไม่ได้เลือกออบเจ็คท์ใดๆ บนวินโดว์ออบเจ็คท์ ก่อนเปิด สคริปท์ของวินโดว์ |
1. คลิก Select Event listbox เลือก Open Event
พิมพ์
dw_master.settransobject ( sqlca )
dw_detail.settransobject ( sqlca ) this.EVENT ue_retrieve() |
สองบรรทัดแรกเป็นการกำหนด SQLCA ทรานเซ็คชั่นออบเจ็คท์เพื่อติดต่อกับฐานข้อมูล ส่วนบรรทัดที่สามเป็นการเรียกใช้เหตุการณ์ ue_retrieve
2. กดปุ่ม Return
หรือ เลือก File > Return จากเมนู
โปรแกรม PowerBuilder จะคอมไพล์ สคริปท์
และกลับมายัง Window Painter
ท่านจะได้เขียนสคริปท์ที่เหตุการณ์ RowFocusChanged
Event ของ dw_master เพื่อทำการดึงข้อมูลใน dw_detail DataWindow
|
1. เลือก dw_master DataWindow คอนโทรล
เลือกสคริปท์จาก Popup เมนูของ dw_master
เลือกเหตุการณ์ RowFocusChanged จาก Select Event
Listbox พิมพ์
long ll_itemnum
ll_itemnum = this.object.data [currentrow,1] IF dw_detail.Retreive (ll_itemnum) = -1 THEN MessageBox("Retreive","Retreive error-detail") END IF |
2. กดปุ่ม Return
หรือ เลือก File > Return จากเมนู
โปรแกรม PowerBuilder จะทำการคอมไพล์สคริปท์ให้ทันที
นำเมนูมาสัมพันธ์กับวินโดว์
2. เลือก Properties จาก Popup เมนูของวินโดว์
3. พิมพ์ m_fileopen ในช่องเมนู Name
4. กดปุ่ม OK
โปรแกรม PowerBuilder จะนำเมนูไปสัมพันธ์กับวินโดว์ซึ่งเมื่อทำงานเมนูบาร์ที่แสดงอยู่จะเปลี่ยนไปใช้
m_fileopen เมื่อหน้าจอนี้ถูกเปิดขึ้น
จัดเก็บวินโดว์
2. เลือกไฟล์ workshop.pbl ในช่อง Application Libraries
พิมพ์ w_master_detail
พิมพ์หมายเหตุและกดปุ่ม OK
เมื่อกดปุ่ม OK โปรแกรม PowerBuilder จะกลับมาทำงานที่
Window Painter และแสดงไตเติลว่า w_master_detail
3. ปิด w_master_detail
![]() |
![]() |
![]() |