帮我看看有什么错误!

sunlijun 2003-04-03 08:44:16
打分系统
我想实现单击人员数据窗口中的人员,项目数据窗口自动列出该级别人员的打分项目。
我在人员的数据窗口rowfocuschanged事件中写如下代码:
long ll_row
string bjibie
int ll_bianhao

ll_row=dw_2.getrow()
bjibie=dw_2.getitemstring(ll_row,'jibie')

dw_1.settransobject(sqlca)
dw_1.retrieve(bjibie)

开始运行正常,后来dataobject的sql语句变了,一运行就报错:

application terminated

error:invaid datawindow row/column specified at line6 in
rowfocuschanged event of object dw_2 of w_main


请教是何原因?
...全文
35 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunlijun 2003-04-04
  • 打赏
  • 举报
回复
dw_2的数据窗口数据对象是动态赋值,数据能检索出来,说明sql语句没问题!
换列号不行!与update属性有关系吗?我只想显示选择!

SELECT j_renyuan.bianhao,
j_renyuan.xingming,
j_renyuan.jibie,
j_renyuan.zhuguan
FROM j_dafenjilu RIGHT OUTER JOIN j_renyuan ON j_dafenjilu.dbianhao = j_renyuan.bianhao
WHERE ( j_renyuan.bianhao not in ( select j_dafenjilu.bbianhao from j_dafenjilu where j_dafenjilu.dbianhao=:bianhao ) ) AND
( j_renyuan.hangming = :hangming ) AND
((j_renyuan.jibie = '103') OR
((j_renyuan.jibie = '104') AND
(j_renyuan.bianhao <> :bianhao)) OR
(j_renyuan.zhuguan = :bianhao))
ORDER BY j_renyuan.jibie ASC
冷箫轻笛 2003-04-04
  • 打赏
  • 举报
回复
bjibie=dw_2.getitemstring(ll_row,'jibie')
把《'jibie'》换成列号试一下,看看能不能找到数据
blackcorbie 2003-04-04
  • 打赏
  • 举报
回复
重建数据窗口对象!
Tigersong 2003-04-04
  • 打赏
  • 举报
回复
就应该是dw_2中字段的问题,把数据源各列重新选择一次,update属性也设置一次。
jmm 2003-04-04
  • 打赏
  • 举报
回复
吧SQL语句写好点就对了
你关心的那个字段叫什么?

select CULUMNNAME AS jibie ,
......
from TABLENAME

不管怎样写成这样就对了

dw_1检索的关键字段也是CHAR类型的么,如果不是,肯定检索不出数据来
bjibie=dw_2.getitemstring(ll_row,'jibie')
这句改一下——>bjibie=trim(dw_2.getitemstring(ll_row,'jibie'))
zhuyuzhao 2003-04-04
  • 打赏
  • 举报
回复
把你SQL一同贴出来,看看应该是这一列的问题
sunlijun 2003-04-04
  • 打赏
  • 举报
回复
谢谢各位,解决了,是j_renyuan_jibie

但结不了贴!显示:贴子回复次数大于给分次数!
tchatcha 2003-04-04
  • 打赏
  • 举报
回复
bjibie=dw_2.getitemstring(ll_row,'j_renyuan_jibie') //不是'j_renyuan.jibie'
tchatcha 2003-04-04
  • 打赏
  • 举报
回复
在cilcked()事件中
messagebox("列名",string(dwo.name))
点击jibie列看看列名是什么
sunlijun 2003-04-04
  • 打赏
  • 举报
回复
早就试过了,不行!
tchatcha 2003-04-04
  • 打赏
  • 举报
回复
有多表查询或子查询时列名会变为
表名_列名 的形式
所你取不到值了
按上面我说的试试罢
zhuyuzhao 2003-04-04
  • 打赏
  • 举报
回复
bjibie=dw_2.getitemstring(ll_row,"j_renyuan.jibie")
tchatcha 2003-04-04
  • 打赏
  • 举报
回复
这样写
bjibie=dw_2.getitemstring(ll_row,'j_renyuan_jibie')

如果还对你就用下面方法看看列名
在cilcked()事件中
messagebox("列名",string(dwo.name))
点击jibie列看看
tchatcha 2003-04-04
  • 打赏
  • 举报
回复
bjibie=dw_2.getitemstring(ll_row,'j_renyuan_jibie')
sunlijun 2003-04-03
  • 打赏
  • 举报
回复
是char型的!
mengfan8868 2003-04-03
  • 打赏
  • 举报
回复
类型对不对啊,
是不是string 型的
sunlijun 2003-04-03
  • 打赏
  • 举报
回复
存在!
ice2water 2003-04-03
  • 打赏
  • 举报
回复
bjibie=dw_2.getitemstring(ll_row,'jibie')
在数据窗口中jibie字段不存在

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧