
DataModule
然后把ADO控件放到里面
在里面放一个ADOConnection,用它连接数据库
然后其它窗口都uses一下这个数据模块,再把其它窗口的ADOQuery控件指向ADOConnection就可以了。
public bool isopen(string connstring){
try
{
SqlConnection conn = new SqlConnection(connstring)
conn.Open()
if (conn.State == ConnectionState.Open)
{
conn.Close()
return true
}
else
{
conn.Close()
return false
}
}
catch
{
return false
}
}
这是一个判断用户是否和数据库连接的函数。如果连接返回true。
希望对你有用。
idle时断开:可能1:
每个数据库用户会对应一个profile,profile中有一项叫做IDLE_TIME,这项控制最大连续空闲时间,当用户连接空闲时间超过这个限制时就自动断开了。
可能2:
数据库启用了resource manager。资源管理器中有一项叫做max_idle_time,这项控制单个连接的总空闲时间,当用户连接空闲时间超过这个限制时就自动断开了。
可能3:
数据库启用了resource manager。资源管理器中有一项叫做max_idle_blocker_time,这项控制连接处于idle状态且阻塞了其他连接的最大时间,当用户连接处于idle状态且阻塞了其他连接的时间超过这个限制时就自动断开了。
运行时断开:
可能1:
同上,profile或者resource manager中对应项限制的用户连接使用的资源总量,当用户执行的程序使用资源总量超过限制时就被断开了。
可能2:
遇到数据库bug或者第三方软件与oracle的不兼容问题。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)