首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

真正能给出小弟我答案的人,小弟我给200元,电汇,绝不失言

2012-02-02 
真正能给出我答案的人,我给200元,电汇,绝不失言下面是我的代码ddplb_username.reset()inti,mdatastoreds_1

真正能给出我答案的人,我给200元,电汇,绝不失言
下面是我的代码
ddplb_username.reset(   )
int   i,m
datastore   ds_1
string   sql,   syn,   err,   str_department
str_department=   this.text
ds_1   =   CREATE   datastore
sql   =   "select   login_name   from   t_operatorinfo   ,t_deptinfo   where   t_deptinfo.dept_id=t_operatorinfo.dept_id   and   t_deptinfo.dept_name= ' "   +   str_department+   " ' "
syn   =   SQLCA.SyntaxFromSQL(sql, "style(type=grid) ",err)
ds_1.Create(syn)
ds_1.settransobject(sqlca)
m   =   ds_1.retrieve(   )
if   m   >   0   then
for   i   =   1   to   m
ddplb_username.additem(ds_1.getitemstring(i, "login_name "))   //注意这一行              
next
end   if

destroy   ds_1


每次我运行到ddplb_username.additem(ds_1.getitemstring(i, "login_name "))行的时候都提示   Invalid   DataWindow   row/column   specified   at   line   14   in   selectionchanged   event   of   object   ddplb_department   of   w_log的错误,据我掌握的出现这种问题的原因如下:
1、login_name不是字符串类型
2、在ds_1中根本就没有名字为login_name的列名
3、循环变量m越界

但上述出现问题的原因都被我排除了,后抱着试试看的态度,我把
ddplb_username.additem(ds_1.getitemstring(i, "login_name "))
这一行的代码改成了ddplb_username.additem(ds_1.getitemstring(i,1)),程序就通过了,请问中哪位高手能给俺指条明路,为什么ddplb_username.additem(ds_1.getitemstring(i, "login_name "))这么写就是不行呢????????????????????????????????

[解决办法]
这么简单的问题……
因为你是动态创建的dw,所以虽然你select login_name
但ds中的列名不一定是login_name,就你的情况,
你选择了2个表,一般是表明+列名
你实际describe( '#1.name ')可以看到具体是啥
[解决办法]
ddplb_username.additem(ds_1.getitemstring(i,ds_1.describe( "#1.name "))) //注意这一行

热点排行