本类模块是用于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的帮助类相关推荐

  1. php 读取mysql 二维数组_PHP操作 二维数组模拟mysql函数

    PHP操作 二维数组模拟mysql函数 public function monimysqltest(){ $testarray=array( array('ss'=>'1','dd'=>' ...

  2. mysql编程的二维数组_调出mysql中数据,输出一个二维数组的表格

    1.使用DDL语句创建数据库.创建表. mysql> show databases; +--------------------+ | Database | +----------------- ...

  3. mysql 二维数组下标_php二维数组指定下标排序

    /* * Effect 排序 * author YangYunHao * email 1126420614@qq.com * time 2018-11-26 11:59:38 * parameter ...

  4. java二维数组遍历后转为一维数组_[基础篇]-基础知识整理-05-数组基本概念

    数组 数组是大部分编程语言所支持的数据结构,Java也支持数组,Java的数组是一种引用类型的变量,Java程序通过数组引用变量来操作数组,包括获取数组的长度,访问数组的值等. 数组的基本概念 数组是 ...

  5. mysql二维转一维_二维数组转为一维数组

    1.很多时候会遇到二维数组,转为一维数组的时候会很苦恼,尤其是刚刚接触PHP的phper. 如下:将$arr转化为一维数组 $arr = Array ( Array ( 'uuid' => 'a ...

  6. mysql日期排序YMD_php将二维数组按日期(支持Ymd和Ynj格式日期)排序

    思路: 将所有日期转化成时间戳保存在新数组里面(新数组1和新数组2), 将新数组2排序, 再将新数组2中的元素逐个查找在数组1中的索引, 根据索引将原始数组重新排序, 最终得到排序后的二维数组. - ...

  7. mysql数据表设计 对应成二维数组_结果集数据怎么转换成二维数组

    一.用java语言将结果集数据转换成二维数组 主要是用resultset对象的getRow()获得结果集中的行数 getMetaData().getColumnCount()  返回结果集的列数 参考 ...

  8. mysql怎样存储二维数组_二维数组存储

    windows栈结构:向低地址处增长 如上图,首先定义一个二维数组 M[2][3] = {1,2,3,4,5,6},其首地址M[0][0]为:0x0012FE44,其元素依次向低地址方向存储.内存中存 ...

  9. java二维数组添加数据_Java自学路线图

    目前Java在许多行业的客户端方面的应用非常多,比如OA.邮箱.投票.金融.考试.物流.医疗.矿山等信息方面的系统.Java开发者在这方面的需求也非常大,待遇也相当不错,工资水平可能和Java互联网方 ...

最新文章

  1. DBCP数据库连接打满原因分析
  2. UART, SPI, IIC的详解及三者的区别和联系
  3. 微信小程序——添加按钮格式
  4. java 多线程集合操作_多线程中使用Java集合类
  5. Android下常见的内存泄露
  6. Java正则表达式实现计算器_用java编写win7计算器
  7. datatables 自定义按钮及响应点击事件
  8. OpenJudge NOI 1.2 05:填空:类型转换2
  9. python替代goto_如何在 Python 中实现 goto 语句
  10. JZ The First Day 总结
  11. 吴恩达机器学习训练2:Logistic回归
  12. token怎么获取 php,如何用php获取某个页面中的input的csrf_token?
  13. 强制打开BIOS中禁用的I/OAT DCA(二)
  14. php云人才伪静态,骑士cms(骑士人才系统)伪静态设置方法
  15. Qt编写安防视频监控系统23-图片地图
  16. R语言与机器学习学习笔记(分类算法)(1)K-近邻算法
  17. 自动化测试八宗罪- 读Test Automation Snake Oil的一点翻译和感想
  18. v$active_session_history的wait_time和time_waited 列(转)
  19. java pacs上传服务_有没有办法将DICOM数据发送到远程PACS服务器上的特定目录?
  20. ChatGPT专业应用:自动生成长尾关键词

热门文章

  1. linux启动数据库orl,linux5.4下oracle问题
  2. flask img标签图片中src链接添加变量问题(好坑啊,不过终于成功了!!)
  3. python PyQt5 QtCore.QPointF类、QPointF类与QPoint类区别
  4. pycharm Enable Live Templates的作用
  5. MySQL通过存储过程使用循环结构循环创建数据,以及批量数据的导入导出
  6. vmstat 命令的使用
  7. Nginx教程系列二:Linux安装nginx
  8. CentOS7下Hadoop集群搭建
  9. spring boot集成webservice接口
  10. python术语中英对照栈图_Python常用技术栈总结