如何检测SQL数据库是否已有连接?
问题点数:20、回复次数:9Top
1 楼qkaizhou(御赐金牌小密探!)回复于 2002-01-31 17:54:57 得分 0
Connection.state=1 '连接
Connection.state=0 '未连接
Top
2 楼sonicdater(事过境迁,除了技术,我什么都没有了)回复于 2002-01-31 18:00:23 得分 0
Public adoCN As New ADODB.Connection '定义数据库的连接存放数据和代码
Public SqlCommand As New ADODB.Command '定义 SQL 命令
Public Function OpenConnection() As String '打开数据库
On Error GoTo SQLConErr
With adoCN
.CursorLocation = adUseClient
.Provider = "sqloledb"
.Properties("Data Source").Value = cNtServerName
.Properties("Initial Catalog").Value = cDatabaseName
.Properties("User ID") = cSQLUserName
.Properties("Password") = cSQLPassword
.Properties("prompt") = adPromptNever
.ConnectionTimeout = 15
.Open
If .State = adStateOpen Then
adoDateTime.Open "select getdate()", adoCN, adOpenStatic, adLockOptimistic
cServerDate = Format(adoDateTime(0), "yyyy-mm-dd")
cServertime = Mid(adoDateTime(0), 10)
Else
MsgBox "数据库连接失败,请找系统管理员进行检查 !", 16, cProgramName
End
End If
End With
SqlCommand.ActiveConnection = adoCN
SqlCommand.CommandType = adCmdText
Exit Function
SQLConErr:
Select Case Err.Number
Case -2147467259
MsgBox "找不到指定的SQL Server服务器或者数据库不存在,请重新设置!", vbExclamation
F_SetSystem.Show 1
Case -2147217843
MsgBox "指定的SQL Server数据库用户不存在或口令错误,请重新设置!", vbExclamation
F_SetSystem.Show 1
Case Else
MsgBox "数据环境连接失败,请找系统管理员进行检查 !", 16, cProgramName
End Select
OpenConnection
End Function
Top
3 楼Fanks(铁面人)回复于 2002-01-31 18:02:01 得分 0
对不起,我没说清楚,我是指,假如有一个客户端已经连接到SQL的AAA数据库上,其他的客户端有无办法判断AAA已有他人使用。Top
4 楼sky_blue(蓝天2007)回复于 2002-01-31 21:04:46 得分 20
mssql:
sp_whoTop
5 楼net_steven(素狼(W))回复于 2002-02-01 14:00:11 得分 0
right,sky_blue(蓝天).其他的客户端只须查看sp_who返回的信息就一目了然了。Top
6 楼panther_totem(青争岁月)回复于 2002-02-01 15:30:38 得分 0
喔Top
7 楼liudp2002()回复于 2002-02-01 17:18:49 得分 0
只能看进程了!Top
8 楼linazhu(热锅之蚂蚁)回复于 2002-02-01 17:51:42 得分 0
gzgzTop
9 楼liudp2002()回复于 2002-02-02 14:46:03 得分 0
谁知道用delphi的检测方法?Top




