將使用者介面資料放入 SQL 查詢中我發現了大量創建用戶介面的範例,但沒有太多討論解釋如何處理/操作用戶資料。我正在努力從文字方塊(天數)獲取資料並在表達式 On_OK 中使用該資料。我還想在 sql 查詢中使用資料作為字串幾天。過去我會設定一個全域變數::DATETIMESTUFF =“10”,然後我可以放入
WHERE A.SCANDATETIME>(SYSDATE-"|| ::DATETIMESTUFF || ")
ui = New Window( "Choose an option",
<<MODAL>(SYSDATE-"|| ::DATETIMESTUFF || ")
",
"Table1"
);
);</MODAL>
資料存取回覆:將使用者介面資料放入 SQL 查詢中PMROZ...兩種解決方案都有效。對此,我真的非常感激
回覆:將使用者介面資料放入 SQL 查詢中嘗試使用函數而不是表達式。您也可以將滑鼠懸停在變數本身上或使用 show() 命令並查看日誌視窗來檢查變數的值。
On_OK = function({curr_days},
sql_statement = evalinsert(
"Select *
from DATABASE A
WHERE A.SCANDATETIME > (SYSDATE - ^curr_days^)");
show(curr_days, sql_statement);
Open Database("DSN=xxx;UID=xxxxx;PWD=xxxxx;", sql_statement, "Table1");
);
ui = New Window( "Choose an option",
<<MODAL></MODAL>回覆:將使用者介面資料放入 SQL 查詢中如果我在腳本中輸入數字 10 而不是 ^current_days^,則它可以正常工作。
但是使用 ^current_days^ 時,它會給出錯誤 ORA-00936(缺少表達式)
所以我仍然無法從文字方塊中獲取數據並將其放入查詢中
回覆:將使用者介面資料放入 SQL 查詢中嘗試這個。您需要將 on_ok 放在 new window() 之上。
On_OK = Expr(
Open Database("DSN=xxx;UID=xxxxx;PWD=xxxxx;", sql_statement, "Table1");
);
ui = New Window( "Choose an option",
<<MODAL> (SYSDATE - ^current_days^)");
</MODAL>