关于用sqlca打开连接和关闭连接的问题
我想请问一下,什么时候打开连接,什么时候关闭连接,我现在只是在application中的open下打开了连接,但是我不知道应该在哪里关闭,如果,应用程序中途出现什么非法操作,被迫关闭,可是,连接怎么样也自动关闭,请问,应该如何实现,谢谢,分不够再加。。。。。。 问题点数:0、回复次数:12Top
1 楼workhand(我可憨了...)回复于 2003-12-01 10:07:44 得分 0
在应用的close事件里关闭(destory掉所有的对象)。Top
2 楼chrisfy(K.O)回复于 2003-12-01 10:09:22 得分 0
建立连接:CONNECT USING SQLCA
断开连接:DISCONNECT USING SQLCA
Top
3 楼benjaminz(RockDJ)回复于 2003-12-01 10:21:38 得分 0
PB自带的那几个变量由PB自己来做这些事情,非法操作的时候估计那些资源都没有释放掉,而且这个东西好象是不以你的意志为转移的Top
4 楼treesoft(长沙水)回复于 2003-12-01 10:39:17 得分 0
一般情况下是在application的open事件中连接数据库(connect [using 事务对象]; ),在其close事件中断开数据库(disconnect [using 事务对象]; )。也可在程序运行中需要存取数据库时连接数据库,用完后再将其断开。
理论上讲PB自己应该有一种机制保证程序在“应用程序中途出现什么非法操作,被迫关闭”时清理程序申请的资源,其中就应该包括数据库连接资源。这应该上RAD都应具备的功能。至于实际情况则谁也不清楚了! :)
Top
5 楼snowdesert(雪沙漠)回复于 2003-12-01 10:40:18 得分 0
在Application的open中进行一切全局初始化工作,包括数据库连接
在Application的close中销毁一切全局对象和连接,当然在销毁之前要用isvalid(objectname)检查是否还存在;
在Application的systemerror event 中处理系统级错误,包括必要的对象销毁
Top
6 楼qianduo(flyinsky)回复于 2003-12-01 11:49:14 得分 0
CONNECT USING SQLCA
DISCONNECT USING SQLCA
Top
7 楼benjaminz(RockDJ)回复于 2003-12-01 12:00:31 得分 0
在Application的systemerror event 中处理系统级错误,包括必要的对象销毁
如果发生了非法操作,PB是捕捉不到这个event的Top
8 楼vc_human(杯中月)回复于 2003-12-02 09:01:03 得分 0
谢谢Top
9 楼builderman(不爽)回复于 2003-12-02 10:42:10 得分 0
sqlca会在程序关闭的时候自动destory的.Top
10 楼vc_human(杯中月)回复于 2003-12-10 13:18:40 得分 0
再up一下Top
11 楼mittee(最后一条大白鲨[无限深情凝视花花版])回复于 2003-12-10 14:38:55 得分 0
在main窗体 disconnect即可Top
12 楼qianduo(flyinsky)回复于 2003-12-11 11:37:51 得分 0
你可以自己定义几个事务。
Top




