关于PB 中find 变量表达式的问题 急
为什么ll_num返回值为负数?
long n_node
lds_tree = CREATE datastore
lds_tree.dataobject = "dw_tree_browse"
lds_tree.settransobject(sqlca)
lds_tree.retrieve()
n_node=lds_tree.object.tree_node[1]
ll_num = lds_tree.find("lds_tree.tree_node = n_node",1,100000)
其中tree_node 为NUMBER,如果ll_num = lds_tree.find("lds_tree.tree_node = 1",1,100000)就是正确的,
这个表达式的变量怎么处理?
[解决办法]
ll_num = lds_tree.find("tree_node =" +string(n_node),1,100000)
[解决办法]
long dwcontrol.Find ( string expression, long start, long end )
其中expression为字符串
在字符串中不能插入变量,但是可以用构造字符串变量的方式来加入字符串
n_node为数值型,则可以这样构造参数expression
"tree_node = " +string(n_node)
[解决办法]
3楼说完了,我来路过一下
另外,在数据量比较大的情况下,尤其是要循环查找的情况下,find函数最好配合sort函数,再写个合适的表达式字符串,可以极大地提高查找效率
[解决办法]