用法:该函数执行之前,首先将数据窗口中已有的数据清除掉,然后将数据库中的数据检索到数据窗口中。
所以,如果希望将检索到的数据追加到数据窗口中,需要编写程序。在数据窗口对象的RetrieveStart事件中返回 2(在retrieveStart中编写脚本return 2即可) ,即可防止清除掉数据窗口中的已有数据。
返 回 值:数字类型long,表示函数执行完之后数据窗口中显示出来的数据行数。注意,该返回值不表示检索到的数据行数。
需要注意的是,只有数据窗口对象中定义的过滤规则影响 Retrieve函数的返回值,函数SetFilter 和Filter并不影响。
例1:下面的程序根据Retrieve函数的返回值显示提示信息。
long ll_rows
dw_main.SetTransObject(SQLCA)
ll_rows = dw_main.Retrieve()
IF ll_rows < 1 THEN MessageBox("错误","没有检索到数据。")
例2:带参数的检索。
数据窗口对象的SQL语句如下:
SELECT Name, emp.sal, sales.rgn From Employee, Sales
WHERE emp.sal > :an_Salary and sales.rgn = :as_Region
其中,an_Salary和as_Region为检索参数,分别为数值型和字符型。可以使用下面的语法检索数据:
dw_1.Retrieve(50000, "NW")
RETRIEVE就是从所连接的数据库里根据数据窗口的语法提取数据。
用法是:首先把数据窗口和数据库连接,在窗口的open或者数据窗口的constructor事件中dw_1.settransobject(sqlca),连接后,就可以写dw_1.retrieve()
还可以进行有参数的查询,需要在数据窗口设置参数,然后dw_1.retrieve(参数1,参数2...)
参数顺序和类型与数据窗口必须对应。
返回值是查询得到的行数