使用ADO连接Oracle,如果网线断了,怎么办?(100分)

X

xddl

Unregistered / Unconfirmed
GUEST, unregistred user!
使用ADOConnection连接Oracle,如果网线短了,怎么检测?
用ADOConnection->Connected是否为false不行,因为它一直是true,
 
怎么没人?
 
是不是觉得没意思?
但确实是个问题,用户的网络状况不是很好
 
>>用ADOConnection->Connected是否为false不行,因为它一直是true,
你可以专门用一个DATASET来测试你的程序能否和数据库连通,方法是你发简单的SQL语句
选择少量数据,如果有结果,说明是通的,否则,你就
ADOConnection->Connected=false;ADOConnection->Connected=True;

你还可以查一下MSDN,看它有没有检测网络是否能的API。
 
楼上的办法用了,感觉不理想
 
函数 InternetQueryOption 是用来检测网络状态的;
这个函数的功能是查询指定 Internet 句柄的状态、选项。
其 API 声明如下:
BOOL InternetQueryOption(
IN HINTERNET hInternet,
IN DWORD dwOption,
OUT LPVOID lpBuffer,
IN OUT LPDWORD lpdwBufferLength
);

参数的意义是:
hInternet:查询对象的 Internet 句柄(全局查询时为 nil),
dwOption:查询的项目;
lpBuffer:返回的查询结果;
lpdwBufferLength:查询结果的字节长度(包括 IN 和 OUT);
查询成功返回 True,否则返回 False;
我们要查询当前计算机的 Internet 连接状态时可以使用查询项目 INTERNET_OPTION_CONNECTED_STATE,
得到的 ConnectState 返回值可能是以下值的一个或几个值之和:
INTERNET_STATE_CONNECTED :$00000001 连接状态;
INTERNET_STATE_DISCONNECTED :$00000002 非连接状态(和 INTERNET_STATE_CONNECTED 对应);
INTERNET_STATE_DISCONNECTED_BY_USER :$00000010 用户请求的非连接状态
INTERNET_STATE_IDLE :$00000100 连接状态,并且空闲
INTERNET_STATE_BUSY :$00000200 连接状态,正在响应连接请求
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=832265
 
顶部