mysql二维数组vb_VBA链接MYSQL的帮助类
本類模塊是用于excel的VBA鏈接MYSQL的幫助類
在使用該類模塊前請先安裝mysql 8.0 數據庫驅動
MySQL 8.0: Connector/ODBC
類模塊代碼
Dim strcn As String
Dim cn As New ADODB.Connection
'構造函數
Private Sub Class_Initialize()
On Error Resume Next
strcn = "Driver=MySQL ODBC 8.0 Unicode Driver" & _
";Server=127.0.0.1" & _
";Database=test" & _
";Uid=root" & _
";Pwd=pwd" & _
";Option=3306" & _
";Stmt=Set Names Utf-8"
cn.Open strcn
cn.CursorLocation = adUseClient
If err <> 0 Then
MsgBox "連接數據庫失敗!" & vbCrLf & "錯誤信息" & err.Number & ":" & err.Description
err.Clear '清除錯誤
Exit Sub
End If
End Sub
'析構函數
Private Sub Class_Terminate()
cn.Close
End Sub
'執行sql語句,返回行數
Public Function ExecCmd(ByVal strSql As String) As Long
On Error GoTo er
Dim N As Long
cn.Execute strSql, N
ExecCmd = N
Exit Function
er:
ExecCmd = 0
MsgBox "錯誤在 [ExecCmd] ! " & vbCrLf & "錯誤信息:" & err.Number & ":" & err.Description, "執行失敗"
End Function
'執行sql語句,返回Recordset
Public Function ExecRecordset(ByVal strSql As String) As ADODB.Recordset
On Error GoTo er
Dim rd As Recordset
Set rd = cn.Execute(strSql)
Set ExecRecordset = rd
Exit Function
er:
Set ExecRecordset = Nothing
MsgBox "錯誤在 [ExecRecordset] ! " & vbCrLf & "錯誤信息:" & err.Number & ":" & err.Description, "數據獲取失敗"
End Function
'一次性讀取所有數據
Public Sub get_alldata(ByVal rng As Range, ByVal rs As ADODB.Recordset)
On Error GoTo er
rng.CopyFromRecordset rs
Exit Sub
er:
MsgBox "錯誤在 [get_alldata] ! " & vbCrLf & "錯誤信息:" & err.Number & ":" & err.Description, "數據讀取失敗"
End Sub
''記錄集轉二維數組
Public Function get_resarr(ByVal res As ADODB.Recordset) As Variant
On Error GoTo er
Dim arr() As Variant, act As Integer, bct As Integer
act = res.RecordCount - 1: bct = res.Fields.Count - 1
ReDim arr(act, bct)
Dim j As Integer, i As Integer
Do While Not res.EOF
For i = 0 To res.Fields.Count - 1 Step 0
ReDim Preserve arr(act, bct)
arr(j, i) = res.Fields(i).Value
i = i + 1
Next
j = j + 1
res.MoveNext
Loop
get_resarr = arr
Exit Function
er:
get_resarr = Nothing
MsgBox "錯誤在 [get_resarr] ! " & vbCrLf & "錯誤信息:" & err.Number & ":" & err.Description, "轉二維數組失敗"
End Function
總結
以上是生活随笔為你收集整理的mysql二维数组vb_VBA链接MYSQL的帮助类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql8 堆应该给多大_深入进阶:图
- 下一篇: mysql basedal_spring