社区
数据库相关
帖子详情
如何实现数据库访问的短连接,完全断开再打开
hohoxcn
2006-12-11 11:55:48
用Adoconnection定义了一个数据库连接DBConn,配制好后打开Open.执行Execute。获取数据后关闭连接close, connected=false。待需要时再打开Open,执行Execute.
但发现关闭连接后,不Open,仍然可以Execute。请高手指点一条真正断开连接,然后可以再连数据库的方法!谢谢谢谢!
...全文
141
1
打赏
收藏
如何实现数据库访问的短连接,完全断开再打开
用Adoconnection定义了一个数据库连接DBConn,配制好后打开Open.执行Execute。获取数据后关闭连接close, connected=false。待需要时再打开Open,执行Execute. 但发现关闭连接后,不Open,仍然可以Execute。请高手指点一条真正断开连接,然后可以再连数据库的方法!谢谢谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
老冯
2006-12-11
打赏
举报
回复
给你一个真正断开的例子:
var
Obj: IBusOrder;
MConnection: TADOConnection;
MQuery: TADOQuery;
begin
Result := False;
Visited.QueryInterface(IBusOrder, Obj);
if Obj <> nil then
begin
CoInitialize(nil);
MConnection := TADOConnection.Create(nil);
MConnection.ConnectionString := DBConnection;
MConnection.LoginPrompt := False;
MConnection.Open;
MQuery := TADOQuery.Create(nil);
with MQuery do
begin
try
Connection := MConnection;
MConnection.BeginTrans;
try
SQL.Text := ' Insert Into TPTMIS_BusOrderInfo(FBusOrderID, '+
' FBusOrderName, '+
' FLineID, '+
' FLineName, '+
' FLeaveTime, '+
' FSeatingPreset, '+
' FChildrenPreset, '+
' FIntervalDays, '+
' FOriginalDate ) '+
' Values(:FBusOrderID, '+
' :FBusOrderName, '+
' :FLineID, '+
' :FLineName, '+
' :FLeaveTime, '+
' :FSeatingPreset, '+
' :FChildrenPreset, '+
' :FIntervalDays, '+
' :FOriginalDate ) ';
Parameters.ParamByName('FBusOrderID').Value := Obj.BusOrderID;
Parameters.ParamByName('FBusOrderName').Value := Obj.BusOrderName;
Parameters.ParamByName('FLineID').Value := Obj.LineID;
Parameters.ParamByName('FLineName').Value := Obj.LineName;
Parameters.ParamByName('FLeaveTime').Value := FormatDateTime('HH:MMMM', Obj.LeaveTime);
Parameters.ParamByName('FSeatingPreset').Value := Obj.SeatingPreSet;
Parameters.ParamByName('FChildrenPreset').Value := Obj.ChildrenPreSet;
Parameters.ParamByName('FIntervalDays').Value := Obj.IntervalDays;
Parameters.ParamByName('FOriginalDate').Value := Obj.OriginalDate;
ExecSQL;
MConnection.CommitTrans;
Result := True;
except
MConnection.RollbackTrans;
Result := False;
end;
finally
MQuery.Free;
MConnection.Free;
end;
end;
end;
end;
(我的工程应用代码)
数据库
连接
池应用中
数据库
服务器
断开
超时
连接
的问题
尤其是在Web应用中,如果晚上时段没有
访问
,而第二天第一个访客的经历就是碰到一个
数据库
访问
错误,如果开发系统的程序员没有注意这个问题的话,可能终端用户
访问
会看到抛出的一堆
数据库
异常信息。 其实,这
ADO
数据库
连接
断开
重连
不会由于网络或者
数据库
服务器的原因导致
连接
断开
。 实际情形是:需要开发一个长时间运行的程序,
数据库
服务器可能在很远的地方,网络不可靠。人工在
连接
断开
的时候不可能及时的干预。最好的方式就是...
MySQL-长
连接
和
短
连接
MySQL
连接
分为长
连接
和
短
连接
两种模式:长
连接
:在长
连接
模式下,应用程序与MySQL
数据库
建立一次
连接
后,保持
连接
处于
打开
状态,直到显式关闭
连接
。这意味着应用程序可以多次使用相同的
连接
来执行多个查询或更新操作...
oracle
数据库
长
连接
和
短
连接
,tcp 长
连接
与
短
连接
长
连接
与
短
连接
使用TCP协议时,会在客户端和服务器之间建立一条虚拟的信道,这条虚拟信道就是指
连接
,而建议这条
连接
需要3次握手,拆毁这条
连接
需要4次挥手,可见,我们建立这条
连接
是有成本的,这个成本就是效率...
Ado.net中
数据库
连接
的两种模式:
连接
模式和
断开
模式
Ado.net为我们提供了两种
连接
数据库
的方式:
连接
模式和
断开
模式.对数据的读取和操作在
断开
数据库
连接
之前,这样的工作方式称为
连接
模式,一般使用DataReader称为
连接
模式.而对数据的读取在
断开
数据库
连接
之后,这样的...
数据库相关
2,507
社区成员
88,453
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章