總的感覺這個東東比較簡單,如果學習過圖形化的開發工具,比如jbuilder之類,就能很快上手,不過昨天碰到個問題讓我鬱悶到了今天才解決,這裏記錄一下:
照着書上例子寫了個控制塊,裏面有個輸入框,一個按鈕,輸入框輸入條件,點擊按鈕開始查詢,下面顯示查詢結果,點擊按鈕的時候,觸發一個when-button-pressed事件,裏面需要我們寫plsql程序。我那個sql完全照例子來寫:
begin
set_block_property('TABLES_TEST',default_where,'table_name=||:CONTROL.table_name);
go_block('TABLES_TEST');
execute_query;
end;
結果點擊按鈕的時候,老報錯frm-40505:oracle錯誤,不能執行查詢,這個錯誤oracle錯誤無法查詢,沒有辦法,最後安裝了我們報警的觸發器,才發現出錯的真正原因:ORA-00904: "Z1": invalid identifier
語句是:SELECT ROWID,TABLE_NAME,TABLESPACE_NAME,CLUSTER_NAME,IOT_NAME,STATUS,PCT_FREE,PCT_USED FROM TABLES_TEST WHERE table_name=Z1?
也就是條件中的字符串沒有加單引號。解決辦法很簡單,在plsql中增加了‘’後一切正常。