Option Explicit
链接数据库的字符串
Public Const Conn As String = "Provider=SQLOLEDB.1;Persist Security Info=False;" & _
"User ID=sa;PWD=sa;Initial Catalog=hr;Data Source=127.0.0.1"
'hr是数据库名称 Catalong=数据库名称
Private IsConnect As Boolean 判读数据库是否链接
Private cnn As ADODB.Connection 链接数据库的connection对象
Private rs As ADODB.Recordset 保存结果集的recordset对象
数据库链接程序
Public Sub Db_Connect()
如果链接标记为真 返回
If IsConnect = True Then
Exit Sub
End If
关键字New用来创建新对象cnn
Set cnn = New ADODB.Connection
设置cnn的链接字符串的connectstring属性
cnn.ConnectionString = Conn
打开数据库
cnn.Open
判断链接状态
If cnn.State <> adStateOpen Then
如果不成功 显示提示 退出程序
MsgBox "链接数据库失败"
End
End If
设置链接标记 表示已经链接到数据库
IsConnect = True
End Sub
断开数据库的链接程序
Public Sub Db_Disconnect()
如果链接标记为假,表明已经断开 直接返回
If IsConnect = False Then
Exit Sub
End If
关闭链接
cnn.Close
设置链接标记,表明已经断开链接
IsConnect = False
End Sub
'只用来执行Insert,update,delete语句
Public Sub sqlExt(tmpSql As String)
创建command对象cmd
Dim cmd As New
连接到数据库
DbConnect
设置cmd的ActiveConnection属性,指定其关联的数据库链接
Set cmd.ActiveConnection = cnn
设置要执行的命令文本
= tmpSql
执行命令
cmd.Execute
清空cmd对象
Set cmd = noting
断开与数据库的连接
Db_Disconnect
End Sub
执行数据库查询程函数
Public Function QueryExt(tmpSql As String) As ADODB.Recordset
创建recordset对象rst
Dim rst As New ADODB.Recordset
链接到数据库
Db_Connect
设置rst的ActiveConnection属性,指定与其关联的数据库连接
Set rst.ActiveConnection = cnn
设置游标类型
rst.CursorType = adOpenDynamic
设置锁定类型
rst.LockType = adLockOptimistic
打开记录集
rst.Open tmpSql
返回记录集
Set QueryExt = rst
End Function