为什么总是:transaction not connected?

fang671 2007-12-27 12:46:09
各位大虾请帮看看,小弟以下语句,放在w_main的open事件里运行正常,但是放在界面或cb_1的click事件里运行就会提示:transaction not connected!
为什么放在不同事件里会有不同的结果?如何解决?谢谢啦!(我的connect using sqlca;等已写好,能正常连接,在open事件里能做任何sql操作,在click、close等其他事件中就是不行,头大啊!)

string t_userid
select user_name into :t_userid from user where user_id='ABC' ;
if sqlca.sqlcode < 0 then
messagebox('提示','错误信息:'+sqlca.sqlerrtext)
end if

...全文
2138 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengg0769 2008-01-17
  • 打赏
  • 举报
回复
补充:这样的问题以后也可以在target上面点右键,搜索:disconnect的出现的地方。
chengg0769 2008-01-15
  • 打赏
  • 举报
回复
很简单:从程序的application-open处设置一个断点,专门跟踪sqlca这个全局变量,应该可以搞定。

==================================================================
QQ群请加: 6539042(powerbuilder11) chengg0769创建

fang671 2008-01-13
  • 打赏
  • 举报
回复
怪了,我就是在application的open事件里面写的connect using sqlca; 然后经过一个登陆窗口,到了w_main窗口后,哪些select代码放在open事件里就可以正常运行,放在其他时间里都是transaction not connected!只有在事件前面加connect using sqlca;才能正常运行,但是我open事件后没有什么disconnenct的语句啊,也没有涉及任何datawindow,怎么会这样呢?在open事件里还正常的啊。大家再帮想想,谢谢啦~
tanjun132 2008-01-02
  • 打赏
  • 举报
回复
disconnenct了吗?
还是没有SetTransObject(sqlca)

xyqiqi 2007-12-27
  • 打赏
  • 举报
回复
你是不是在什么地方不小心,又把数据库给断开了。
数据库连接的代码一定要写到最前面。确定连接成功了,才能对数据库进行操作
ckc 2007-12-27
  • 打赏
  • 举报
回复
你应该把connect using sqlca;等放在最前面执行,比如放在application的open事件里面
而且别再disconnect
你现在的问题就是你执行
select user_name into :t_userid from user where user_id='ABC'
的时候还没有connect
dawugui 2007-12-27
  • 打赏
  • 举报
回复
漏写:
dw_1.SetTransObject(sqlca)
dw_1.Retrieve()

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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