如何让DataWindow自动匹配多个Retrieve参数?

如何让DataWindow自动匹配多个Retrieve参数?

DataWindow自动匹配多个Retrieve参数

1 创建一个继承自系统对象DataWindow的用户对象u_dw

2 定义对象函数retrieve,添加函数参数a_argus[],类型为ANY,函数返回值为Long

3 加入如下代码:(假设 retrieve参数数目最大为10)

long ll_retVal
ll_retVal = 0
choose case upperBound(aa_args)
case 1
return retrieve(aa_args[1])
case 2
return retrieve(aa_args[1], aa_args[2])
case 3
return retrieve(aa_args[1], aa_args[2], aa_args[3])
case 4
return retrieve(aa_args[1], aa_args[2], aa_args[3], aa_args[4])
case 5
return retrieve(aa_args[1], aa_args[2], aa_args[3], aa_args[4], aa_args[5])
case 6
return retrieve(aa_args[1], aa_args[2], aa_args[3], aa_args[4], aa_args[5], &
aa_args[6])
case 7
return retrieve(aa_args[1], aa_args[2], aa_args[3], aa_args[4], aa_args[5], &
aa_args[6], aa_args[7])
case 8
return retrieve(aa_args[1], aa_args[2], aa_args[3], aa_args[4], aa_args[5], &
aa_args[6], aa_args[7], aa_args[8])
case 9
return retrieve(aa_args[1], aa_args[2], aa_args[3], aa_args[4], aa_args[5], &
aa_args[6], aa_args[7], aa_args[8], aa_args[9])
case 10
return retrieve(aa_args[1], aa_args[2], aa_args[3], aa_args[4], aa_args[5], &
aa_args[6], aa_args[7], aa_args[8], aa_args[9], aa_args[10])
case else
return -1
end choose
return ll_retVal

4 在程序中调用方法如下:

ANY la_myArray[]
dw_1.setTransObject(sqlca)
la_myArray[1] = "A String"
la_myArray[2] = 200
dw_1.retrieve(la_myArray)