关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加・科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。简单来说,关系型数据库是由多张能互相联接的二维行列表格组成的数据库。
在ApolloStudio中对关系型数据库的支持分为远程数据库和本地数据库,两者的区分界定是数据库本身是否内置服务器功能来支持远程网络访问。 远程数据库主要涵盖的数据库有:MS SQLServer、Oracle和MySQL这三类为主(其他支持ODBC驱动访问的数据库同样兼容),本地数据库主要支持的是SQLite和MS Access这两类。在ApolloStudio中,由于远程数据库使用的是ODBC技术进行访问,故在使用前需单独安装对应数据库版本的驱动(由于ApolloStudio主程序限制只能调用X86版驱动),安装过程网上已经有太多对应的教程,在此不作赘述。本地数据库系统中SQLite内置了访问驱动而MS Access需在机器上安装Office套件或者独立数据引擎AccessDatabaseEngine(百度搜索下或者文末网盘均有提供)。
本文是以本地MySQL 数据库作为应用案例讲解,我们默认机器上已安装正确版本的ODBC驱动。我们先看下ApolloStudio中所提供的接口:
配置数据库ODBC连接
这里我们选择MySQL ODBC 8.0 Unicode Driver(安装版本不一样可能版本号有差异,本机装的是8.0版本驱动):
应用案例测试
这里我们选择一个简单例子做测试,我们先在上文中提到的mydb数据库中放入几组数据:
我们在ApolloStudio任务列表添加一个界面用来调取和显示这些数据,并实现CSV文件导出,这里我们使用了一个数据列表控件以及三个按钮控件,简单测试刷新获取所有数据,添加数据,以及导出CSV文件功能:
#-*- coding: UTF-8 -*- #加载内嵌模块 import clr,sys,time,datetime ######################################################## #数据库查询显示导出案例 ######################################################## #变量初始化 #插入固定数据信息到数据库中 sql_InsertData = "INSERT INTO mydb (姓名,性别,出生日期) VALUES ('王五','男','2018-09-13')" #获取数据库中所有信息 sql_SelectAllData = "SELECT * FROM mytable" #定义一个默认DataTable对象 alldata = AS.Func_SQL_ODBC_Select(sql_SelectAllData) #循环函数体 while True: if AS.Func_UI_Button_GetValue(0):#添加信息按钮被触发 AS.Func_UI_Button_SetValue(0, False)#复位按钮触发标志位 AS.Func_SQL_ODBC_Insert(sql_InsertData)#插入数据 alldata = AS.Func_SQL_ODBC_Select(sql_SelectAllData)#刷新所有数据 AS.Func_UI_DataGridView_SetDataSource("dgv1", alldata)#绑定显示到UI界面 if AS.Func_UI_Button_GetValue(1):#刷新查询信息按钮被触发 AS.Func_UI_Button_SetValue(1, False)#复位按钮触发标志位 alldata = AS.Func_SQL_ODBC_Select(sql_SelectAllData)#刷新所有数据 AS.Func_UI_DataGridView_SetDataSource("dgv1", alldata) if AS.Func_UI_Button_GetValue(2):#导出CSV文件按钮被触发 AS.Func_UI_Button_SetValue(2, False)#复位按钮触发标志位 AS.Func_CSV_DataTableToCSV(alldata, "D:/test.csv")#保存在D盘根目录 time.sleep(0.2)
在上面的脚本中我们可以发现,所有的SQL语句直接复制即可获得所需效果,值得注意的是使用查询语句后会有一个返回值,其数据类型是DataTable,也就是一张表,后续的操作完全是针对表进行对应操作,点击运行后执行结果:
***********************************************************************************************************************************************
ApolloStudio最新版下载地址(网盘有交流群号):