一個界面中有兩個資料視窗,dw_1是一個選擇條件的視窗,dw_2是顯示結果的視窗,比如dw_1中有A B C D E五個部門,我只選擇A和C部門作為查詢條件。
主要問題是 1、如何同時取出多條資訊;2、如何將查詢條件寫到動態SQL陳述句中去
uj5u.com熱心網友回復:
求各位大神幫幫忙啊
uj5u.com熱心網友回復:
ls_oldsql=dw_1.getsqlselect()
ll_cnt=pos(ls_oldsql,'where')
if ll_cnt=0 then
ls_w='where'
ls_A='and'
ls_sql=coulmn like ls_rb
ls_newsql=ls_oldsql+ls_w+ls_sql+ls_A
uj5u.com熱心網友回復:
dw_1中有A B C D E五個部門,我只選擇A和C部門作為查詢條件。如果只是這樣的話,可以傳陣列,在sql用in條件
uj5u.com熱心網友回復:
同問啊!!!!uj5u.com熱心網友回復:
只用部門作為條件?簡單,dw_1的資料視窗物件在建的時候,為sql陳述句多加一個列,如:select '0' as isselected,--作為選擇標記
dep_id,--資料庫中的部門ID
dep_name,--資料庫中的部門名稱
from department--資料庫中的部門表
用這個陳述句生成的資料視窗物件會多一列isselected,在設計時,這一列的editstyle為checkbox,1為選中,0為不選中,這樣就可以為dw_1輕松實作多選效果了。
然后生成dw_2的條件,這個需要用回圈,回圈dw_1,查看哪一行的isselected為1,就把它的dep_id取出來,組合成條件字串,放到dw_2的where陳述句中去,或者簡單一點,不改變dw_2的sql陳述句,而是用setfilter修改dw_2的過濾條件,看實際情況定了。如果改變sql陳述句,每次都要重新檢索資料庫,如果用setfilter,第一次要慢一點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/55566.html
標籤:DataWindow
下一篇:直接向USB口發送指令的問題
