hur.cn - 华软网

 热门搜索

请帮忙看一下出错原因

  作者:未知    来源:网络    更新时间:2017/12/5
请帮忙看一下下面这段代码,为什么在运行时总是要运行两次才会得到结果啊??谢谢

dw_1.dataobject="d_week_danju"
dw_1.settransobject(sqlca)
dw_1.retrieve()
name=""
sqlcondition="SELECT DISTINCT userxmname FROM operation_user_table WHERE userpopedom = 'Y1'"
prepare sqlsa from :sqlcondition;
open dynamic user;
fetch user into :name;
do while sqlca.sqlcode=0
   intnewrow=dw_1.insertrow(0)
   dw_1.setitem(intnewrow,1,name)
fetch user into :name;
loop
close user;
------华软网友回答------
user 哪里来的??
------华软网友回复------
只从你的代码来看应该没什么问题的呀
------华软网友回复------
user是
declare user dynamic cursor for sqlsa;
定义的一个动态游标
------华软网友回复------
不是很懂,关注中
我不习惯像这样用游标
------华软网友回复------
运行两次是什么意思?是不是你的dw_1的第一条数据是空的?
如果是这样的话也许是你的userxmname 中有空值
------华软网友回复------
PB里面最好不要用游标,可以读到数据窗口里面,然后取数据,比游标速度快
------华软网友回复------
就是我的这程序是写在一个查询按钮里的代码,在运行时,第一次点击这个查询按钮什么东西都显不出来,要第二次点击这个查询按钮才会得到我想要的结果。我的userxmname中没有空值
------华软网友回复------
高手们,帮帮忙啊
------华软网友回复------
name=""
declare user dynamic cursor for sqlsa;
sqlcondition="SELECT DISTINCT userxmname FROM operation_user_table WHERE userpopedom = 'Y1'"
prepare sqlsa from :sqlcondition;
这样试试。

------华软网友回复------
你的写法不尽对吧,参考
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=204545
------华软网友回复------
你的dw_1是不是设置了setredraw(false)?

在你取出数据之后没有retrieve(),所以在第二次运行到dw_1.retrieve()时数据才显示出来~

菜鸟意见,错了莫怪~
------华软网友回复------
最好还是跟踪调试一下,哪里除了问题一看就知道了      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。