读书人

取得对应行行号解决方案

发布时间: 2012-02-15 12:09:44 作者: rapoo

取得对应行行号
要在一个DW里的NAME项改变后在client表中找到与这个NAME对应的客户信息的行号
我在itemchange里写了下面这句但是find()返回的是-5,Bad argument。。。看了半天也没发现什么不对,问下有没有别的方法能获得这个行号
ls_name=this.getitemstring( row, 'consigner')
ll_row_client=ds_client.Find("(name='"+ls_name+"')",1,ds_client.rowcount())


[解决办法]
判断一下row是否大于0
[解决办法]

探讨
要在一个DW里的NAME项改变后在client表中找到与这个NAME对应的客户信息的行号
我在itemchange里写了下面这句但是find()返回的是-5,Bad argument。。。看了半天也没发现什么不对,问下有没有别的方法能获得这个行号
                  ls_name= this.getitemstring( row, 'consigner')
ll_row_client=ds_client.Find("(name='"+ls_name+"')",1,ds_client.rowcount())


[解决办法]
getitem.... 中参数-5当然会出错了!

row是要判断的!
看find有问题吗,直接用个值代替变量,看返回值正常吗?
要么用retrieve代替!




[解决办法]
itemchanged里面.

判断row<=0则不操作任何东西.


if row <= 0 then return

ls_name= this.getitemstring(row, 'consigner')
ll_row_client=ds_client.Find("name='"+ls_name+"'",1,ds_client.rowcount())

语法是没有问题的.

你可以再次判断ll_row_client,<=0则不进行操作.

if ll_row_client <= 0 then ...
[解决办法]
ll_row_client = ds_client.find("name='+ls_name+'",1,ds_client.rowcount())
[解决办法]
ll_row_client = ds_client.find("name = '"+ls_name+"'",1,ds_client.rowcount())
[解决办法]
Find语句写错了
应该是:ds_client.Find("name='"+ls_name+"'",1,ds_client.rowcount())

读书人网 >PB

热点推荐