在平常的上位机系统开发过程中,经常会要求实现和关系型数据库的数据交互,今天介绍一种通用的,免费的方式,即 Microsoft ActiveX 数据对象 (ADO)。ADO 用于 c 和 Visual Basic 程序连接到 SQL Server 和其他数据库。
首先建立数据库,并创建需要进行数据交互的表。假设你已经具备关系型数据库 SQL SERVER 的基本知识,例程代码如下,以下代码包含基本的数据库创建,表的增,删,改,查等操作。基本可以满足日常使用。如果想要获取更多的关于数据库的知识可以关注剑指工控的数据库相关视频课程进行学习。
代码语言:javascript复制--创建数据库
create database JZGK_DB
--创建数据库表“JZGK_Table”
use JZGK_DB
create table JZGK_Table
(
ID int IDENTITY(1,1) NOT NULL,
TagNum nvarchar(50) NULL,
Press float NULL,
Temperature float NULL,
TimeStamp datetime NULL
)
--插入一条数据记录
insert into JZGK_Table(TagNum,Press,Temperature,updateTime) values(N'罐区T-1001',3.12,30.45,'2021-07-12 17:30:09.000')
--数据库表查询
select * from JZGK_Table where TagNum like N'%罐区%' order by ID DESC
--数据库表更新
update JZGK_Table set Press = 5.34 where TagNum = N'罐区T-1002'
--数据库表删除
delete from JZGK_Table where TagNum = N'罐区T-1002'
通过上面的例程了解了基本的数据库知识,下面介绍如何在IFix中实现数据库表的增,删,改,查功能。
第一,引用ADO,打开VBA编辑器,在“工具”选项卡中选择“引用”,在弹出的对话框中选择:Mircosoft ActiveX Data Objects 2.5 Library,如下图所示,然后点击“确定”。
第二,编写SQL SERVER 语句模块。
在”Projects_User(User)”的模块下编写一个新的模块,模块名字可以根据需要修改,如下图名字为“SQLConnect”
该模块下的代码如下:
第三,画面功能开发。
例如:
功能需求1:获取最近一次罐区T-1001的温度值,并显示;使用Text文本进行数据的显示,使用按钮获取值。需要通过按钮的脚本获取查询的结果。可以编写按钮的鼠标点击事件,如下:
功能需求2:向数据库中插入一条记录,相关脚本在按钮点击事件中实现,代码如下:
在数据库中进行查询,可以看到该记录已经成功写入数据库。