2 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
用法:該函數(shù)執(zhí)行之前,首先將數(shù)據(jù)窗口中已有的數(shù)據(jù)清除掉,然后將數(shù)據(jù)庫中的數(shù)據(jù)檢索到數(shù)據(jù)窗口中。
所以,如果希望將檢索到的數(shù)據(jù)追加到數(shù)據(jù)窗口中,需要編寫程序。在數(shù)據(jù)窗口對象的RetrieveStart事件中返回 2(在retrieveStart中編寫腳本return 2即可) ,即可防止清除掉數(shù)據(jù)窗口中的已有數(shù)據(jù)。
返 回 值:數(shù)字類型long,表示函數(shù)執(zhí)行完之后數(shù)據(jù)窗口中顯示出來的數(shù)據(jù)行數(shù)。注意,該返回值不表示檢索到的數(shù)據(jù)行數(shù)。
需要注意的是,只有數(shù)據(jù)窗口對象中定義的過濾規(guī)則影響 Retrieve函數(shù)的返回值,函數(shù)SetFilter 和Filter并不影響。
例1:下面的程序根據(jù)Retrieve函數(shù)的返回值顯示提示信息。
long ll_rows
dw_main.SetTransObject(SQLCA)
ll_rows = dw_main.Retrieve()
IF ll_rows < 1 THEN MessageBox("錯誤","沒有檢索到數(shù)據(jù)。")
例2:帶參數(shù)的檢索。
數(shù)據(jù)窗口對象的SQL語句如下:
SELECT Name, emp.sal, sales.rgn From Employee, Sales
WHERE emp.sal > :an_Salary and sales.rgn = :as_Region
其中,an_Salary和as_Region為檢索參數(shù),分別為數(shù)值型和字符型??梢允褂孟旅娴恼Z法檢索數(shù)據(jù):
dw_1.Retrieve(50000, "NW")

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個(gè)贊
RETRIEVE就是從所連接的數(shù)據(jù)庫里根據(jù)數(shù)據(jù)窗口的語法提取數(shù)據(jù)。
用法是:首先把數(shù)據(jù)窗口和數(shù)據(jù)庫連接,在窗口的open或者數(shù)據(jù)窗口的constructor事件中dw_1.settransobject(sqlca),連接后,就可以寫dw_1.retrieve()
還可以進(jìn)行有參數(shù)的查詢,需要在數(shù)據(jù)窗口設(shè)置參數(shù),然后dw_1.retrieve(參數(shù)1,參數(shù)2...)
參數(shù)順序和類型與數(shù)據(jù)窗口必須對應(yīng)。
返回值是查詢得到的行數(shù)
- 2 回答
- 0 關(guān)注
- 1422 瀏覽
添加回答
舉報(bào)