2018年9月23日 星期日

codecharge 設計筆記



Codecharge 的 event
Before_Update
Before_Build_Update
Before_Execute_Update
做了一個隱藏的 text 連結到資料庫,然後在上面三個 update event 將之改變
然後,測試執行 update 後,是否更新到資料庫中
結果:只有 Before Update 有真的更新
其餘兩個,都還是原來的舊值,亦即沒有更新!
好奇怪喔!


Before Update Event
This event occurs at the onset of the operations performed to update a database record.
Possible applications:
  • Checking update rights
  • Preventing a row from updating
  • Setting custom query parameters 

Before Build Update Event
This event occurs before the creation of the query that will be used to update database content.
Possible applications:
  • Setting custom query parameters or changing existing ones

Before Execute Update Event
This event occurs after the query has been composed and immediately before a row update query is executed.
Possible applications:
  • Altering query parameters
  • Opening a transaction
  • Performing transaction operations



經過查詢 codecharge 的產生程式碼,他是 先處理 Before Update
然後進入 Update 程序了
在Update 的程序中,再進入 Before Build Update/Before Execute Update 裡
所以,如果在 Before Build Update/Before Execute Update裡面嘗試要去改變 連結資料欄位的值時已經來不及了。







=================
2018/09/22
================
留意:codecharge的 Object 階層關係。
Page -> Panel -> Form -> Control
查看 help 裡面的範例。
不是每個都可以 SetValue/GetValue
有些是只有 Visibl=True 之類的!

=======================
可以重複使用的內容,可以善用 includeable page 子頁的方式製作。






沒有留言:

張貼留言

如何判斷現在FORM是在 insert mode? 還是 update mode?

只要用  if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。