DEVELOPER/2000使用經驗7條
2024-07-21 02:38:42
供稿:網友
DEVELOPER/2000使用經驗7條
OracleDeveloper/2000是ORACLE第二代的Client/Sever應用開發工具,它提供了一種面向對象的開發環境,本人曾經使用ORACLEDEVELOPER/2000完成了<<日照港物資治理信息系統>>的軟件編程,在編程過程中總結出了一些小小的經驗, 把它們寫出來與大家分享,并希望能對初學者有所幫助。
1.如何屏蔽系統提示信息?
在運行一個FORM時往往會彈出一些報警器,但提示的并非出錯信息,屏蔽這些報警器的方法是將系統變量:SYSTEM.MESSAGE_LEVEL的值設置為’25’。
2.在編寫PL/SQL代碼中使用SELECT語句時如何避免例外發生?
在使用SELECT語句為某變量賦值時,往往會出?quot;NO_DATA_FOUND"和"TOO_MANY_ROWS"等異常情況,使用SELECT語句分兩種情況:第一種情況,判定某表中是否有符合某一條件的記錄,這時使用聚組函數MAX就可以避免以上兩個例外的發生。其格式:SELECTMAX(列1),MAX(列2)......INTO變量1,變量2......FROM基表WHERE條件,當沒有符合條件的數據時,該語句返回空,即變量1,變量2......的值均為空,而不會出現"NO_DATA_FOUND"例外,另外使用聚組函數MAX的同時也就避免了"TOO_MANY_ROWS"例外。第二種情況,SELECT語句中含聚組函數SUM,這時假如使用了GROUPBY和HAVING子句,當沒有符合條件的記錄時將發生"NO_DATA_FOUND"例外,此時避免例外的辦法是:去掉GROUPBY和HAVING子句,將HAVING子句的條件加到WHERE子句中。這樣在使用SELECT語句時就不必再額外增加一段處理例外的代碼,從而簡化的代碼的編寫。
3.當使用主從塊時,如何使從塊自動提交?
在FORM設計時有時需要用到主從塊,在主從塊錄入時每當鼠標從從塊移到主塊預備錄入一條新記錄時,總是彈出一報警器,問你是否保存數據,從而影響錄入速度,將該報警器去掉的方法是:在過程"CLEAR_ALL_MASTER_DETAILS"中的"CLEAR_BLOCK(ASK_COMMIT)"即清除從塊時是否提交改為"CLEAR_BLOCK(DO_COMMIT)",這樣從塊錄完數據再導航到主塊錄入新記錄時,系統將自動提交數據,而不再出現上述提示。
4.如何減少FORM所占磁盤空間?
(1)對于塊中只用于查詢并且無格式限制的項,設置為顯示項。
(2)保存FORM時先斷開與數據庫的鏈接,然后在保存。以上兩種方法均可減小FORM的大小,尤其是第二種方法更為明顯。當硬盤空間較小,或將程序備份到軟盤上時,這樣作是很有意義的。
5.如何使定制菜單的主菜單中WINDOWS項不顯示?
在MAINMENU中建立一個為WINDOWS屬性的菜單項,這樣主菜單中WINDOWS項就不再顯示。
6.如何使不同布局的報表顯示在同一頁上?
復雜的報表往往是由幾部分組成,需建立多個查詢,而每個查詢都對應著一個布局,怎樣才能使具有不同布局的報表數據顯示在同一頁上呢?其方法如下:第一步,首先根據實際報表格式建立第一個查詢組的布局,稱為布局1,然后依次再建立起其他查詢組的布局,分別稱為布局2,布局3......。注重:每個布局最外圍的單選框不要去掉。第二步,分別為布局2,布局3......建立一個到布局1的定位(ANCHOR),即選中工具欄中的ANCHOR,鼠標單擊布局2的單選框,然后按住鼠標左鍵并拖動鼠標到布局1的單選框上(可以選擇上邊﹑下邊﹑左邊或右邊),松開鼠標按鈕,按此方法再建立布局3,布局4......到布局1的定位。建立定位的作用是使布局2,布局3......相對與布局1的位置保持不變,這樣就使具有不同布局的報表數據顯示并打印在同一物理頁上。
7.怎樣較快的生成FMX文件?
用RUN命令,一次只能生成一個.FMX文件,假如想生成一批.FMX文件,這樣做即麻煩又費時,一個生成.FMX較快的辦法是:先打開要運行的.FMB文件,如何按住SHIFT鍵將這些文件全部選中,在從系統菜單"文件"中選擇"ADMINISTRATION"中"GENERATE"即可。