使用LabVIEW操作ACCESS、MySQL、SQL server数据库实现按照时间段查询数据
使用LabVIEW操作数据库需要使用专门的工具包。主流的工具包有两个:“第三方数据库工具包LabSQL”和“官方数据库工具包Database Connectivity Toolkit”。三易电子工作室推荐使用官方数据库工具包,官方数据库工具包的函数都带官方帮助和范例,使用起来方便一些。新版本LabVIEW自带这个工具包,无需单独安装。本文将使用官方数据库工具包来实现对ACCESS、MySQL、SQL server三种数据库的访问,实现按照时间段查询数据。
1、工作原理
数据库工具包“Database Connectivity Toolkit”共有29个函数,如图1所示。这29个函数可以实现对数据库的连接、增、删、改、查、返回数据的处理等。LabVIEW对数据库操作的核心本质是:利用工具包里的函数通过调用SQL语句的方式来实现对数据库的操作。所以说想实现LabVIEW对数据库操作,就得学习好两方面的知识:(1)掌握SQL语句编写(2)掌握LabVIEW数据库工具包函数的用法。
图1 数据库操作相关函数
SQL是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。
虽然SQL已经被ANSI组织定义为标准,不幸地是,各个不同的数据库对标准的SQL支持不太一致。并且,大部分数据库都在标准的SQL上做了扩展。也就是说,如果只使用标准SQL,理论上所有数据库都可以支持,但如果使用某个特定数据库的扩展SQL,换一个数据库就不能执行了。例如,Oracle把自己扩展的SQL称为PL/SQL,Microsoft把自己扩展的SQL称为T-SQL。
现实情况是,如果我们只使用标准SQL的核心功能,那么所有数据库通常都可以执行。不常用的SQL功能,不同的数据库支持的程度都不一样。而各个数据库支持的各自扩展的功能,通常我们把它们称之为“方言”。
本文之所以专门讲解“实现按照时间段查询数据”,也是因为上面提到的“SQL方言”的问题。对于ACCESS、MySQL、SQL server这三种数据库,其“按照时间段查询数据”的SQL语句有细微差异。下文将对具体的实现进行详细的讲解。
2、ACCESS数据库实现按照时间段查询数据
2.1 数据库情况描述
数据库表名为:“商品”,每列的数据类型详见图2,表中内容详见图3。
图2 每列的数据类型
图3 表内数据
2.2 要求
(1)查询 2022/5/4 8:00:00 到 2023/2/5 17:30:00 之间的全部数据;
(2)查询 2022/5/4 8:00:00 到 至今的 商品名称数据;
(3)查询 2022/5/4 8:00:00 之前的 商品名称、商品种类数据;
2.3 ACCESS数据库SQL语句实现方式
SELECT * FROM 商品 WHERE 登记日期 between #2022/5/4 8:00:00# and #2023/2/5 17:30:00#;SELECT 商品名称 FROM 商品 WHERE 登记日期 >= #2022/5/4 8:00:00#;SELECT 商品名称,商品种类 FROM 商品 WHERE 登记日期 < #2022/5/4 8:00:00#;
注意事项:“登记日期”这一列的数据类型必须为“日期/时间”
2.4 LabVIEW程序实现方式
程序实现方式详见图4-图9。程序实现比较简单,分为四步:
- 连接数据库
LabVIEW与ACCESS数据库连接有三种方式。这儿选用最方便的方式:字符串连接的方式。这三种方式这儿就不展开讲解了,含兴趣的可以百度一下。或者看一下三易电子工作室的《LabVIEW与数据库存储实战视频教程》。
- 调用SQL语句
LabVIEW调用SQL语句对数据库执行“增、删、改、查“操作有三种方法,这三种方法各有特点,我们这儿选用第二种方法(比较直观),使用“Execute Query.vi”调用SQL语句。对这三种方式的详细使用感兴趣的话,可以看一下三易电子工作室的《LabVIEW与数据库存储实战视频教程》。
2.2节的三个要求,只需要调用不同的SQL语句就行,程序实现方式完全一样。
- 获取查询得到的数据
使用“Fetch Recordset Data.vi”函数获取。
- 关闭句柄
关闭已经连接的数据库。
本文中涉及的数据库文件、LabVIEW源码、文档可以联系淘宝客服获取。给客服发送“数据库按时间段查询”,自动获得。三易电子工作室淘宝店铺地址:淘宝店铺-三易电子工作室
图4 要求1实现方式---程序框图
图5 要求1实现方式---前面板
图6 要求2实现方式---程序框图
图7 要求2实现方式---前面板
图8 要求3实现方式---程序框图
图9 要求3实现方式---前面板
2.5 扩展
目的:时间信息由前面板输入
实现也非常简单,详见图10和图11。这儿使用了两个函数“格式化日期/时间字符串.vi”和“格式化写入字符串.vi”两个函数。
图10 时间信息由前面板输入---程序框图
图11 时间信息由前面板输入---前面板
3、MySQL数据库实现按照时间段查询数据
3.1 数据库情况描述
数据库表名为:“商品”,每列的数据类型详见图12,表中内容详见图13。
图12 每列的数据类型
图13 表内数据
3.2 要求
(1)查询 2022/5/4 8:00:00 到 2023/2/5 17:30:00 之间的全部数据;
(2)查询 2022/5/4 8:00:00 到 至今的 商品名称数据;
(3)查询 2022/5/4 8:00:00 之前的 商品名称、商品种类数据;
3.3 MySQL数据库SQL语句实现方式
SELECT * FROM 商品 WHERE 登记日期 between ‘2022/5/4 8:00:00’ and ‘2023/2/5 17:30:00’;SELECT 商品名称 FROM 商品 WHERE 登记日期 >= ‘2022/5/4 8:00:00’;SELECT 商品名称,商品种类 FROM 商品 WHERE 登记日期 < ‘2022/5/4 8:00:00’;
注意事项:“登记日期”这一列的数据类型必须为“datetime”
3.4 LabVIEW程序实现方式
程序实现方式与2.4节ACCESS实现方式一致。有两方面差异
(1)连接数据库有差异,LabVIEW与MySQL数据库连接有两种方式,这两种方式这儿就不展开讲解了,含兴趣的可以百度一下。或者看一下三易电子工作室的《LabVIEW与数据库存储实战视频教程》。
(2)调用的SQL语句有差异,调用的语句详见3.3节;
本文中涉及的数据库文件、LabVIEW源码、文档可以联系淘宝客服获取。给客服发送“数据库按时间段查询”,自动获得。三易电子工作室淘宝店铺地址:淘宝店铺-三易电子工作室
4、SQL server数据库实现按照时间段查询数据
4.1 数据库情况描述
数据库表名为:“商品”,每列的数据类型详见图14,表中内容详见图15。
图14 每列的数据类型
图15 表内数据
4.2 要求
(1)查询 2022/5/4 8:00:00 到 2023/2/5 17:30:00 之间的全部数据;
(2)查询 2022/5/4 8:00:00 到 至今的 商品名称数据;
(3)查询 2022/5/4 8:00:00 之前的 商品名称、商品种类数据;
4.3 SQL server数据库SQL语句实现方式
SELECT * FROM 商品 WHERE 登记日期 between ‘2022/5/4 8:00:00’ and ‘2023/2/5 17:30:00’;SELECT 商品名称 FROM 商品 WHERE 登记日期 >= ‘2022/5/4 8:00:00’;SELECT 商品名称,商品种类 FROM 商品 WHERE 登记日期 < ‘2022/5/4 8:00:00’;
注意事项:“登记日期”这一列的数据类型必须为“datetime”
4.4 LabVIEW程序实现方式
程序实现方式与2.4节ACCESS实现方式一致。有两方面差异
(1)连接数据库有差异,LabVIEW与SQL server数据库连接有三种方式,这三种方式这儿就不展开讲解了,含兴趣的可以百度一下。或者看一下三易电子工作室的《LabVIEW与数据库存储实战视频教程》。
(2)调用的SQL语句有差异,调用的语句详见4.3节;
本文中涉及的数据库文件、LabVIEW源码、文档可以联系淘宝客服获取。给客服发送“数据库按时间段查询”,自动获得。三易电子工作室淘宝店铺地址:淘宝店铺-三易电子工作室
5、结束语
在最后给大家推荐一门视频课程《LabVIEW与数据库存储实战视频教程》,三易电子工作室推出的,课程质量杠杠的(三易出品,质量的保证!!!)。主要内容如下:
(1)与数据库相关的29个函数均进行了详细讲解;
(2)包含LabVIEW与3大主流数据库的存储与读取;
(3)多种方法实现对数据库的连接;
(4)三种方法实现对数据库表内容的“增、删、改、查”;
(5)不仅仅讲到普通数据,还有二进制文件的存储与读取!
感兴趣的可以去三易电子工作室官方淘宝店铺去逛逛。店铺地址:淘宝店铺-三易电子工作室
来源地址:https://blog.csdn.net/shaozhaomian9271/article/details/128980719