ເນື້ອໃນ

# ເຫດການຟອມຖານຂໍ້ມູນ

ໜ້າແທັບ ເຫດການ ອະນຸຍາດໃຫ້ທ່ານກຳນົດມາກໂຄໃຫ້ກັບບາງເຫດການທີ່ເກີດຂຶ້ນໃນຟອມຖານຂໍ້ມູນ.

ເພື່ອເຂົ້າເຖິງຄຳສັ່ງນີ້...

ເປີດເມນູລັດຂອງອົງປະກອບຟອມທີ່ເລືອກ - ເລືອກແຖບ ຄຸນສົມບັດຟອມ - ເຫດການ.

ເປີດແຖບເຄື່ອງມື ການອອກແບບຟອມ, ຄລິກໄອຄອນ ຄຸນສົມບັດຟອມ - ແຖບ ເຫດການ.

ເພື່ອເຊື່ອມຕໍ່ເຫດການກັບມາກໂຄ, ທຳອິດໃຫ້ຂຽນມາກໂຄທີ່ມີຄຳສັ່ງທັງໝົດທີ່ຈະໃຫ້ປະຕິບັດເມື່ອເຫດການເກີດຂຶ້ນ. ຈາກນັ້ນກຳນົດມາກໂຄນີ້ໃຫ້ກັບເຫດການນັ້ນໆ ໂດຍການຄລິກປຸ່ມ ... ທາງຂ້າງເຫດການທີ່ກ່ຽວຂ້ອງ. ກ່ອງໂຕ້ຕອບ ກຳນົດມາກໂຄ ຈະເປີດຂຶ້ນ, ເຊິ່ງທ່ານສາມາດເລືອກມາກໂຄໄດ້.

ການດຳເນີນການຕໍ່ໄປນີ້ສາມາດກຳນົດຄ່າໄດ້ເປັນລາຍບຸກຄົນ, ໝາຍຄວາມວ່າທ່ານສາມາດໃຊ້ກ່ອງໂຕ້ຕອບຂອງທ່ານເອງເພື່ອສະແດງການດຳເນີນການໄດ້:

1. ການສະແດງຂໍ້ຄວາມຂໍ້ຜິດພາດ,

2. ການຢືນຢັນຂະບວນການລຶບ (ສຳລັບເຣັກຄອດຂໍ້ມູນ),

3. ການຄົ້ນຫາພາລາມິເຕີ,

4. ການກວດສອບການປ້ອນຂໍ້ມູນເມື່ອບັນທຶກເຣັກຄອດຂໍ້ມູນ.

ຕົວຢ່າງ, ທ່ານສາມາດຕັ້ງຄຳຮ້ອງຂໍ "ຢືນຢັນການລຶບ" ເຊັ່ນ "ຕ້ອງການລຶບລູກຄ້າ xyz ແທ້ຫຼືບໍ່?" ເມື່ອລຶບເຣັກຄອດຂໍ້ມູນ.

ເຫດການທີ່ສະແດງຢູ່ໃນກ່ອງໂຕ້ຕອບເຫດການບໍ່ສາມາດແກ້ໄຂໄດ້ໂດຍກົງ. ທ່ານສາມາດລຶບເຫດການອອກຈາກລາຍຊື່ໄດ້ໂດຍການກົດປຸ່ມ Del.

ລາຍຊື່ຕໍ່ໄປນີ້ອະທິບາຍທຸກເຫດການໃນຟອມທີ່ສາມາດເຊື່ອມຕໍ່ກັບມາກໂຄໄດ້:

## ກ່ອນການດຳເນີນການກັບບັນທຶກ

ເຫດການ ກ່ອນການດຳເນີນການກັບບັນທຶກ ຈະເກີດຂຶ້ນກ່ອນທີ່ບັນທຶກປັດຈຸບັນ ຫຼື ຊຸດບັນທຶກຈະຖືກປ່ຽນແປງ. ສົ່ງຄ່າ True ເມື່ອອະນຸຍາດໃຫ້ປ່ຽນແປງ, ຖ້າບໍ່ດັ່ງນັ້ນໃຫ້ສົ່ງ False. ຕົວຢ່າງ: ມາໂຄຣທີ່ເຊື່ອມຕໍ່ໄວ້ອາດຈະສະແດງກ່ອງຂໍ້ຄວາມເພື່ອຂໍການຢືນຢັນ.

## ກ່ອນການປ່ຽນແປງບັນທຶກ

ເຫດການ ກ່ອນການປ່ຽນແປງບັນທຶກ ຈະເກີດຂຶ້ນກ່ອນທີ່ຕົວຊີ້ບັນທຶກປັດຈຸບັນ (SQL cursor) ຈະຖືກປ່ຽນແປງ. ສົ່ງຄ່າ True ເມື່ອອະນຸຍາດໃຫ້ຍ້າຍ, ຖ້າບໍ່ດັ່ງນັ້ນໃຫ້ສົ່ງ False.

## ກ່ອນການສົ່ງຂໍ້ມູນ

ເຫດການ ກ່ອນການສົ່ງຂໍ້ມູນ ຈະເກີດຂຶ້ນກ່ອນທີ່ຂໍ້ມູນໃນຟອມຈະຖືກສົ່ງອອກໄປ. ການສົ່ງຄ່າ True ແມ່ນການອະນຸມັດການສົ່ງ, ສ່ວນ False ແມ່ນການຢຸດການສົ່ງ.

## ກ່ອນການອັບເດດ

ເຫດການ ກ່ອນການອັບເດດ ເກີດຂຶ້ນກ່ອນທີ່ເນື້ອໃນການຄວບຄຸມທີ່ປ່ຽນແປງໂດຍຜູ້ໃຊ້ຈະຖືກຂຽນລົງໃນແຫຼ່ງຂໍ້ມູນ. ມາກໂຄທີ່ເຊື່ອມຕໍ່ສາມາດ, ຕົວຢ່າງ, ປ້ອງກັນການດຳເນີນການນີ້ໄດ້ໂດຍການສົ່ງຄືນຄ່າ FALSE.

## ຫຼັງການອັບເດດ

ເຫດການ ຫຼັງການອັບເດດ ເກີດຂຶ້ນຫຼັງຈາກທີ່ເນື້ອໃນການຄວບຄຸມທີ່ປ່ຽນແປງໂດຍຜູ້ໃຊ້ໄດ້ຖືກຂຽນລົງໃນແຫຼ່ງຂໍ້ມູນແລ້ວ.

## ກ່ອນການຕັ້ງຄ່າໃໝ່

ເຫດການ ກ່ອນການຕັ້ງຄ່າໃໝ່ ຈະເກີດຂຶ້ນກ່ອນທີ່ຟອມຈະຖືກຕັ້ງຄ່າໃໝ່. ການສົ່ງຄ່າ True ແມ່ນການອະນຸມັດການຕັ້ງຄ່າໃໝ່, ສ່ວນການສົ່ງຄ່າ False ແມ່ນການຍົກເລີກການດຳເນີນການ.

ຟອມຈະຖືກຕັ້ງຄ່າໃໝ່ ຖ້າຫາກກົງກັບເງື່ອນໄຂໃດໜຶ່ງດັ່ງຕໍ່ໄປນີ້:

1. ຜູ້ໃຊ້ກົດປຸ່ມ (HTML) ທີ່ຖືກກຳນົດໃຫ້ເປັນປຸ່ມຕັ້ງຄ່າໃໝ່ (reset).

2. ບັນທຶກໃໝ່ທີ່ວ່າງເປົ່າຖືກສ້າງຂຶ້ນໃນຟອມທີ່ເຊື່ອມຕໍ່ກັບແຫຼ່ງຂໍ້ມູນ. ຕົວຢ່າງ: ໃນບັນທຶກສຸດທ້າຍ, ປຸ່ມ ບັນທຶກຖັດໄປ ອາດຈະຖືກກົດ.

## ຫຼັງຈາກການຕັ້ງຄ່າໃໝ່

ເຫດການ ຫຼັງຈາກການຕັ້ງຄ່າໃໝ່ ຈະເກີດຂຶ້ນຫຼັງຈາກຟອມໄດ້ຖືກຕັ້ງຄ່າໃໝ່ແລ້ວ.

## ກ່ອນການເອົາອອກ (unloading)

ເຫດການ ກ່ອນການເອົາອອກ ຈະເກີດຂຶ້ນກ່ອນທີ່ຟອມຈະຖືກເອົາອອກ; ນັ້ນໝາຍເຖິງການແຍກອອກຈາກແຫຼ່ງຂໍ້ມູນຂອງມັນ.

## ກ່ອນການໂຫຼດໃໝ່

ເຫດການ ກ່ອນການໂຫຼດໃໝ່ ຈະເກີດຂຶ້ນກ່ອນທີ່ຟອມຈະຖືກໂຫຼດໃໝ່. ເຊິ່ງເນື້ອໃນຂໍ້ມູນຍັງບໍ່ທັນໄດ້ຖືກປັບປຸງໃໝ່ (refresh) ເທື່ອ.

## ຕື່ມພາຣາມິເຕີ

ເຫດການ ຕື່ມພາຣາມິເຕີ ຈະເກີດຂຶ້ນເມື່ອຟອມທີ່ຈະໂຫຼດນັ້ນມີພາຣາມິເຕີທີ່ຕ້ອງໄດ້ຕື່ມຂໍ້ມູນໃສ່. ຕົວຢ່າງ: ແຫຼ່ງຂໍ້ມູນຂອງຟອມອາດຈະເປັນຄຳສັ່ງ SQL ດັ່ງນີ້:

SELECT * FROM address WHERE name=:name

ໃນທີ່ນີ້ :name ແມ່ນພາຣາມິເຕີທີ່ຕ້ອງໄດ້ຕື່ມຂໍ້ມູນໃສ່ໃນເວລາກຳລັງໂຫຼດ. ພາຣາມິເຕີຈະຖືກຕື່ມໃຫ້ໂດຍອັດຕະໂນມັດຈາກຟອມຫຼັກຖ້າເປັນໄປໄດ້. ຖ້າພາຣາມິເຕີບໍ່ສາມາດຕື່ມໄດ້, ເຫດການນີ້ຈະຖືກເອີ້ນໃຊ້ ແລະ ມາໂຄຣທີ່ເຊື່ອມຕໍ່ໄວ້ສາມາດຕື່ມພາຣາມິເຕີໃຫ້ໄດ້. ສົ່ງຄ່າ True ເມື່ອຕ້ອງການໃຫ້ການປະມວນຜົນຄຳສັ່ງທີ່ມີພາຣາມິເຕີດຳເນີນຕໍ່ໄປ, ຖ້າບໍ່ດັ່ງນັ້ນໃຫ້ສົ່ງ False.

## ຢືນຢັນການລຶບ

ເຫດການ ຢືນຢັນການລຶບ ຈະເກີດຂຶ້ນທັນທີເມື່ອມີການລຶບຂໍ້ມູນອອກຈາກຟອມ. ສົ່ງຄ່າ True ເພື່ອອະນຸຍາດໃຫ້ລຶບແຖວ, ຖ້າບໍ່ດັ່ງນັ້ນໃຫ້ສົ່ງຄ່າ False. ຕົວຢ່າງ: ມາໂຄຣທີ່ເຊື່ອມຕໍ່ໄວ້ອາດຈະສະແດງກ່ອງຂໍ້ຄວາມເພື່ອຂໍການຢືນຢັນ.

## ຫຼັງຈາກການດຳເນີນການກັບບັນທຶກ

ເຫດການ ຫຼັງຈາກການດຳເນີນການກັບບັນທຶກ ຈະເກີດຂຶ້ນທັນທີຫຼັງຈາກທີ່ບັນທຶກປັດຈຸບັນໄດ້ຖືກປ່ຽນແປງແລ້ວ.

## ຫຼັງຈາກການປ່ຽນແປງບັນທຶກ

ເຫດການ ຫຼັງຈາກການປ່ຽນແປງບັນທຶກ ຈະເກີດຂຶ້ນທັນທີຫຼັງຈາກທີ່ຕົວຊີ້ບັນທຶກປັດຈຸບັນໄດ້ຖືກປ່ຽນແປງແລ້ວ.

## ເກີດຂໍ້ຜິດພາດ

ເຫດການ ເກີດຂໍ້ຜິດພາດ ຈະຖືກເປີດໃຊ້ຖ້າມີຂໍ້ຜິດພາດເກີດຂຶ້ນໃນເວລາເຂົ້າເຖິງແຫຼ່ງຂໍ້ມູນ. ສິ່ງນີ້ໃຊ້ໄດ້ກັບທັງຟອມ, ກ່ອງລາຍການ ແລະ ກ່ອງຄອມໂບ.

## ເມື່ອກຳລັງໂຫຼດ

ເຫດການ ເມື່ອກຳລັງໂຫຼດ ຈະເກີດຂຶ້ນທັນທີຫຼັງຈາກທີ່ຟອມໄດ້ຖືກໂຫຼດແລ້ວ.

## ເມື່ອເອົາອອກ (unloading)

ເຫດການ ເມື່ອເອົາອອກ ຈະເກີດຂຶ້ນທັນທີຫຼັງຈາກທີ່ຟອມໄດ້ຖືກເອົາອອກແລ້ວ; ນັ້ນໝາຍເຖິງການແຍກອອກຈາກແຫຼ່ງຂໍ້ມູນຂອງມັນ.

## ເມື່ອໂຫຼດໃໝ່

ເຫດການ ເມື່ອໂຫຼດໃໝ່ ຈະເກີດຂຶ້ນທັນທີຫຼັງຈາກທີ່ຟອມໄດ້ຖືກໂຫຼດໃໝ່ແລ້ວ. ເຊິ່ງເນື້ອໃນຂໍ້ມູນໄດ້ຖືກປັບປຸງໃໝ່ແລ້ວ.

## ເຫດການທີ່ສາມາດຍົກເລີກໄດ້ (Vetoable events)

ມາໂຄຣສາມາດຂັດຈັງຫວະການເຮັດວຽກຂອງເຫດການໄດ້ເມື່ອພວກມັນສົ່ງຄ່າບູລີນ (boolean): True ອະນຸຍາດໃຫ້ເຫດການດຳເນີນຕໍ່ໄປ ແລະ False ຈະຢຸດການເຮັດວຽກຂອງເຫດການ.

ເຫດການຕໍ່ໄປນີ້ສາມາດຂັດຈັງຫວະໄດ້ໂດຍການສົ່ງຄ່າ False:

- ກ່ອນການດຳເນີນການກັບບັນທຶກ

- ກ່ອນການປ່ຽນແປງບັນທຶກ

- ກ່ອນການສົ່ງຂໍ້ມູນ

- ກ່ອນການອັບເດດ

- ຕື່ມພາຣາມິເຕີ

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!