我是用这种方法做的:
在模块下设了以下语句
Public Const FileDS = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"data source=data.mdb;"
Public Const NetDS = "Provider=SQLOLEDB;Data Source=ADODUM;UID=ubad1d1;pwd=21@1n3z"在MDI窗体下设了以下语句
Private Sub MDIForm_Load()
Dim conn As New ADODB.Connectionconn.ConnectionString = FileDS
conn.OpenIf conn.State = 0 Then
MsgBox "不能与数据库联接", vbOKOnly
Else
MsgBox "已经联接了数据库", vbOKOnly
End IfEnd Sub
如果用这种方法,只要找不数据库,VB本身就会出错不能运行。有没有一种方法在VB可以正常运行的情况下去判断,数据库是否已联接成功。
在模块下设了以下语句
Public Const FileDS = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"data source=data.mdb;"
Public Const NetDS = "Provider=SQLOLEDB;Data Source=ADODUM;UID=ubad1d1;pwd=21@1n3z"在MDI窗体下设了以下语句
Private Sub MDIForm_Load()
Dim conn As New ADODB.Connectionconn.ConnectionString = FileDS
conn.OpenIf conn.State = 0 Then
MsgBox "不能与数据库联接", vbOKOnly
Else
MsgBox "已经联接了数据库", vbOKOnly
End IfEnd Sub
如果用这种方法,只要找不数据库,VB本身就会出错不能运行。有没有一种方法在VB可以正常运行的情况下去判断,数据库是否已联接成功。
解决方案 »
- select case什么意思?
- datagrid怎么显示不了数据呀,郁闷
- 自己做了一个activeX控件,怎么在网上发布不成功啊,大家帮帮忙啊,急死我了...
- 各位兄弟姐妹们,请教获取网页内容最快的方法!
- 为什么我得到的rs可以在msflexgrid中显示,但是
- 高分求教一个关于字符串的问题,大家过来看一看
- 在VB中在打开文件之前如何判断该文件是否已经打开了
- 问一个关于映射驱动器的函数,请指教
- {有分}如何用VB进行数据库管理系统的开发(高手或有这开发经验的请进)
- 用outlook 怎样收www.yahoo.com的邮件?
- 请教:怎么判断另一个程序的某个按狃是不是处于焦点状态
- 求救:怎么逐行读取文本框中文字并逐行复制给另一个程序的文本框?
on error goto myerr
.......
myerr;
select case err.number
case ...
....
case ...
....
end select
Public Function OpenAccess() As String
With adoCNAccess
If .State <> adStateOpen Then
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & cProgramPath & "Trade.mdb"
.ConnectionTimeout = 5
.Open
If .State = adStateOpen Then
OpenAccess = "数据库连接成功"
Else
OpenAccess = "数据库连接失败,请按帮助进行检查 !"
MsgBox "数据库连接失败,请找系统管理员进行检查 !", 16, cProgramName
End
End If
End If
End With
End Function
'* 功能:与 SQL SERVER 数据库建立连接并取出服务器时间
'***********************************************************************
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
"data source=data.mdb;"
Public Const NetDS = "Provider=SQLOLEDB;Data Source=ADODUM;UID=ubad1d1;pwd=21@1n3z"在MDI窗体下设了以下语句
Private Sub MDIForm_Load()
Dim conn As New ADODB.Connection
on error resume next
conn.ConnectionString = FileDS
conn.OpenIf err.number <> 0 Then
MsgBox "不能与数据库联接", vbOKOnly
Else
MsgBox "已经联接了数据库", vbOKOnly
End If
on error goto 0
End Sub