在线等,数据库连接

studywork 2003-10-16 11:46:07
我是刚学PB的新手,请大家多关照哦,
我建了两个数据库,连接已经成功,但在CLOSE事件中关闭连接时出错。
在open事件中定义了一个事务变量MYTRANS
CLOSE中的语句为:
disconnect using SQLCA;
DESTROY SQLCA
DISCONNECT USING MYTRANS;
出错信息为:
undefined variable:MYTRANS
...全文
82 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
studywork 2003-10-17
  • 打赏
  • 举报
回复
谢谢大家了。结帖了。
studywork 2003-10-16
  • 打赏
  • 举报
回复
这是在应用对象的open事件里的脚本:
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x"
SQLCA.Database = "mydatabase"
SQLCA.ServerName = "HT-030"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = "DateTimeAllowed='Yes',OptSelectBlob=1"

CONNECT USING SQLCA;
if SQLCA.SQLCODE=-1 THEN
MESSAGEBOX("连接失败","数据库mydatabase连接失败!")
halt
end IF
transaction mytrans
mytrans=create transaction
mytrans.DBMS = "ODBC"
mytrans.AutoCommit = False
mytrans.DBParm = "ConnectString='DSN=myodbc;UID=sa;PWD='"
CONNECT USING mysqlca;
if mytrans.SQLCODE=-1 THEN
MESSAGEBOX("连接失败","数据库连接失败!")
halt
end IF


open(w_tools)
studywork 2003-10-16
  • 打赏
  • 举报
回复
就是这么定义的。在open事件里。
错误就在第三行
DISCONNECT USING MYTRANS;
flyhot 2003-10-16
  • 打赏
  • 举报
回复
transaction mytrans
mytrans = CREATE transaction
wantsong 2003-10-16
  • 打赏
  • 举报
回复
用debug看看错误在那一条语句报错
另外 mytrans 必须为实利变量
wantsong 2003-10-16
  • 打赏
  • 举报
回复
你得mytrans是怎么定义的?
transaction mytrans
mytrans = CREATE transaction
qqjj7758 2003-10-16
  • 打赏
  • 举报
回复
在代码页 中的 Declare Instance Variable里
然后 选择上面的下拉框 "Instance Variable" 里有Global Variable 里面定义 就ok 了
地狱余烬 2003-10-16
  • 打赏
  • 举报
回复
你的 MYTRANS不能为局部变量。
在 global Variable 里面定义全局变量
studywork 2003-10-16
  • 打赏
  • 举报
回复
如果我要建一个transaction的事务变量mysqlca(全局的)
应该在哪里定义,如何定义呢
longdrang 2003-10-16
  • 打赏
  • 举报
回复
takeiteasy(takeiteasy) 說法完全正确.

别忘记给他高分,他还差77分升级啦 :)
takeiteasy 2003-10-16
  • 打赏
  • 举报
回复
错误在于你的变量Mytrans是一个局部的变量,在close事件里面并没有声明该变量。
而sqlca是pb默认的事物连接的全局变量。
所以如果要用两个事物连接,把mytrans定义为全局变量就可以了。

别忘记给我高分,我还差77分升级啦 :)

1,075

社区成员

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

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