日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql二维数组vb_VBA链接MYSQL的帮助类

發布時間:2025/3/19 数据库 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的帮助类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。