热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

不安装ODBC怎样用VBA连接Mysql数据库

如果没有安装ODBC该怎样用VBA连接Mysql数据库呢?给大家介绍一种方法。不仅可以连接数据库,并且代码更简洁和Excel也具有更好的交互性。我们需要安装一个插件,SqlCelF

如果没有安装ODBC该怎样用VBA连接Mysql数据库呢?

给大家介绍一种方法。不仅可以连接数据库,并且代码更简洁和Excel也具有更好的交互性。

我们需要安装一个插件,SqlCelFuncs或者SqlCel用SqlCel函数来实现此功能。如下:

'引用SqlCel插件必写(随便写在哪个模块中都可以)
Public Function s() As Object
Set s = Application.COMAddIns("SqlCelAddIn").Object
End Function
'先定义两个连接,提前运行一下就会生成两个连接字符串,一直存在随时可用
Sub DefMysqlConnection()
s.DefMysqlConn "firstdb", "127.0.0.1", "test", "root", "123456", "3306", "utf8"
s.DefMysqlConn "seconddb", "127.0.0.1", "test2", "root", "123456", "3306", "utf8"
End Sub
'主程序入口
Sub QueryMysql()
s.UseConn "Mysql", "firstdb" '使用名为firstdb的Mysql连接
Call QueryToRs '从firstdb中查询数据
s.UseConn "Mysql", "seconddb" '使用名为seconddb的Mysql连接
Call QueryToArr '从seconddb中查询数据
Call QueryToQax '从seconddb中查询数据
End Sub
'将数据查到Recordset数据集中
Sub QueryToRs()
Dim rs As Object, i As Integer
Set rs = s.QueryToRs("SELECT * FROM cars")
With Sheets("TB1")
For i = 0 To rs.Fields.Count - 1
.Cells(1, i + 1).Value = rs.Fields(i).Name
Next i
.Range("A2").CopyFromRecordset rs
End With
End Sub
'将数据查到二维数组中
Sub QueryToArr()
Dim arr As Variant
arr = s.QueryToArr("SELECT* FROM colleges", True)
s.ArrayToExcel arr, Sheets("TB3").Range("A1")
End Sub
'将数据查询到QAX(DataTable)中
Sub QueryToQax()
Dim qax As Variant
Set qax = s.QueryToQax("SELECT * FROM colleges")
s.QAXToRng qax, Sheets("TB2").Range("A1"), "TableStyleDark10", True
End Sub

最后一个查询的效果如下:
《不安装ODBC怎样用VBA连接Mysql数据库》
sqlcel函数官网介绍:
https://sqlcel.com/sqlcelfuncs/


推荐阅读
  • 解决JavaScript中法语字符排序问题
    在开发一个使用JavaScript、HTML和CSS的Web应用时,遇到从SQLite数据库中提取的法语词汇排序不正确的问题,特别是带重音符号的字母未按预期排序。 ... [详细]
  • 如何将955万数据表的17秒SQL查询优化至300毫秒
    本文详细介绍了通过优化SQL查询策略,成功将一张包含955万条记录的财务流水表的查询时间从17秒缩短至300毫秒的方法。文章不仅提供了具体的SQL优化技巧,还深入探讨了背后的数据库原理。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 如何从BAM文件绘制ATAC-seq插入片段长度分布图?
    在ATAC-seq数据处理中,插入片段长度的分布图是一个重要的质量控制指标,它能反映出核小体的周期性排列。本文将详细介绍如何从BAM文件中提取并绘制这些数据。 ... [详细]
  • 本文探讨了在SQL Server中处理几何类型列时遇到的INTERSECT操作限制,并提供了解决方案,包括通过转换数据类型和使用额外表结构的方法。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • HTML:  将文件拖拽到此区域 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
author-avatar
mobiledu2502868933
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有