oaf做更新和刪除之前都需要先查詢,並且通過vo來操作,vo內部會呼叫eo,eo主要用於資料驗證
按照bc4j的架構,通常是使用co呼叫am,在am中操作vo以刪除或跟新資料,但是當處理具有關聯關係的資料時,例如刪除乙個poheader,那麼則應該重寫poheadereo的remove()方法,以刪除poline資料.
首先放am刪除/更新**
使用這份**有兩個限制:
1.只能刪除單行,如果去掉"break"來刪除多行,迭代器返回會越界返回null值
2.如果資料沒有繫結到webbean控制項,那麼fetchedrowcount=0;刪除不成功
僅僅是針對頁面的單個繫結行,不知道oracle為什麼還要把它作為示例**。
為了消除第二條限制,需要做一點修改
這樣就可以以純**方式操作。
如果要刪除多行,那麼就不能用上面的**了,我自己寫了一段如下
這段**可以使用適用多種情況。
當然也可以針對具體情況再做點優化,例如,如果**中用到的vo沒有繫結頁面控制項,那麼可以簡單寫成
這裡主要是涉及迭代器初始位置的問題。
下面貼一段關聯刪除的**,首先要為兩個關聯的eo建立關係,然後把這段**用於eo的remove
刪除乙個poheader,重寫poheadereo的remove()方法,以刪除poline資料.還限制了可以刪除的訂單型別哦!
做更新的話,就把remove()換成setattribute或set***x()就好了
這兩個方法和刪除都會改變vo狀態為modify,如果不提交事務的話會被認為是髒資料的。
OAF中trunc函式的使用
需求 在做oaf開發時,經常會需要查詢功能,由於需求的不同,往往不能使用oaf標準的查詢功能,需要自己客戶化實現查詢功能,而在查詢功能中,經常會遇到查詢的時間範圍,要查詢從。開始,到。結束這段時間內的結果,所以會經常在am的實現類裡面給vo增加where語句限制,往往是獲取某個查詢條件,然後該查詢條...
OAF中trunc函式的使用
需求 在做oaf開發時,經常會需要查詢功能,由於需求的不同,往往不能使用oaf標準的查詢功能,需要自己客戶化實現查詢功能,而在查詢功能中,經常會遇到查詢的時間範圍,要查詢從。開始,到。結束這段時間內的結果,所以會經常在am的實現類裡面給vo增加where語句限制,往往是獲取某個查詢條件,然後該查詢條...
設定OAF開發環境
設定開發環境 本文件介紹了如何配置和測試 oaf的開發環境 1 配置 jdev user home 環境變數 注意 如果跳過此步驟,jdeveloper 將不能正常工作。windows 在我的電腦屬性中新增新的環境變數 jdev user home jdevhome jdev 其中是你安裝 oaf開...