作业帮 > 综合 > 作业

dw_2.object.lb[ll_row]=dw_1.object.lb[i]

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/11 16:41:55
dw_2.object.lb[ll_row]=dw_1.object.lb[i]
uo_main.dw_1.settransobject(sqlcc)
ll_rc=uo_main.dw_1.retrieve()
if ll_rc > 0 then
for i = 1 to ll_rc
ll_row=uo_main.dw_2.insertrow(0)
uo_main.dw_2.object.mc[ll_row]=uo_main.dw_1.object.mc[i]
dw_2.object.lb[ll_row]=dw_1.object.lb[i]
的意思就是:
将dw_1中第i行的mc列数据 整行赋值给 dw_2 数据窗的第ll_row行的mc列.
再问: 可是我按照这个做一遍,那个ll_rc=uo_main.dw_1.retrieve()返回值是负的3600,dw_1也显示数据了!这是怎么回事啊?
再答: 我有点怀疑:你的ll_rc的数据类型是不是int的,int在pb中只有2^15-1 = 32767,有可能数据行数超出了,搞成了负数。应该定义 long 的数据类型。

看看这个说明:

retrieve()返 回 值:数字类型,表示函数执行完之后数据窗口中显示出来的数据行数。注意,该返回值不表示检索到的数据行数。有两点,RetrieveStart中是否编写了脚本、数据窗口对象定义中是否指定了过滤规则。如果数据窗口对象中定义了过滤规则,检索完成后自动将不符合过滤规则的数据移动到数据窗口的Filter缓冲区中,函数的返回值则是检索到的总数据行数扣除移动到Filter缓冲区的数据行数。需要注意的是,只有数据窗口对象中定义的过滤规则影响Retrieve函数的返回值,函数SetFilter和Filter并不影响。