版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章访问数据库当编写记录采集数据、存储文件信息、回放存储波形等应用程序功能模块时,通常需要使用数据库访问技术。相对于文件系统使用数据库可以方便地实现大量数据的存储、管理和条件查询。LabVIEW本身不能直接访问数据库,但是可以通过使用以下方法来实现LabVIEW对数据库访问。(1)利用LabVIEW的ActiveX功能调用ADO控件,使用SQL语言访问数据库(2)利用免费数据库工具包LabSQL实现对数据库的访问(3)利用LabVIEW中的DLL接口间接访问数据库(4)利用NI提供的专门的数据库访问工具包DatabaseConnectivityToolkit实现对数据库的访问12.1MicrosoftADO
12.1.1MicrosoftADO基础知识ADO(ActiveXDataObjects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。ADO访问数据源的特点可以概括如下。(1)易于使用,可以说这是ADO最重要的特点之一。(2)可以访问多种数据源,使应用程序具有很好的通用性和灵活性。(3)访问数据源效率高,高速度,低内存,占磁盘控件小。(4)有远程数据服务功能,方便的Web应用。(5)只需创建一个Connection对象就可以有多个独立Recordset对象使用它。12.1.2MicrosoftADO的对象模型ADO通过编程模型实现对数据库的操作。编程模型意味着对象模型,即响应并执行编程模型的“对象”组。对象包含的参数类型有:方法、属性和事件。ADO的目的是访问、编辑和更新数据源。它提供执行以下的操作方式。(1)建立与数据源的连接(Connection),可选。(2)创建表示命令(如SQL命令)的对象(Command),可选。(3)在SQL命令中指定列、表和值作为变量参数(Parameter),可选。(4)执行命令(Command、Connection或Recordset)。(5)如果命令以行返回,则将行存储在缓存中(Recordset)。(6)创建缓存视图以便对数据进行排序、过滤和定位(Recordset),可选。(7)通过添加、删除或更改行和列来编辑数据(Recordset)。(8)适当情况下,用缓存中的更改内容来更新数据源(Recordset)。(9)在使用事务之后,可以接受或拒绝在事务中所做的更改,结束事务(Connection)。ADO对象模型包含有9个对象。(1)连接对象(2)命令对象(3)记录集对象(4)记录对象(5)数据流对象(6)字段对象(7)参数对象(8)属性对象(9)错误对象1.连接对象对象模型用connection对象来体现连接的概念。通过连接(Connection)可从应用程序访问数据源,连接是交换数据所必需的环境。2.命令对象对象模型用Command对象来体现参数的概念。“命令”通过已建立的连接发出,它能以某种方式操作数据源。命令通常可以在数据源中添加、删除或更新数据,或者以表中行的格式检索数据。3.记录集对象对象模型用Recordset对象对来自提供者的数据进行操作。使用ADO时,将几乎全部使用Recordset对象来对数据进行操作。所有Recordset对象均由记录(行)和字段(列)组成。某些Recordset方法或属性可能不可用,这取决于提供者支持的功能。4.字段对象对象模型用Field对象来体现字段。Recordset的一行由一个或多个“字段”组成。如果把Recordset看作二维网格,排成行的字段将构成“列”。每一字段(列)都分别具有名称、数据类型和值等属性。正是在这个值中包含了来自数据源的实际数据。除了包含有9个对象外,ADO对象模型还包含有4个集合。集合也是一种对象,它可方便地包含其他特定类型的对象。使用集合属性可按名称(文本字符串)或序号(整数)对集合中的对象进行检索。(1)Errors集合
(2)Parameters集合
(3)Fields集合
(4)Properties集合
ADO对象包含属性,可通过INTEGER、CHARACTER或BOOLEAN等公用数据类型在其中设置或检索值。12.2SQL数据库语言SQL(StructuredQueryLanguage,结构查询语言)是一个功能强大的数据库语言,集数据查询(DataQuery)、数据操作(DataManipulation)、数据定义(DataDefinition)和数据控制(DataControl)于一体,常用于数据库的通信。与C、Pascal等语言不同,SQL没有循环结构(如if-then-else、do-while)以及函数定义等的功能。而且SQL只有一个数据类型的固定设置,换句话说,用户不能在使用其他编程语言的时候创建自己的数据类型。12.2.1SQL基础知识SQL语言支持关系数据库三级模式结构,如图12-1所示。其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。图12-1SQL对关系数据库模式的支持(1)DML(DataManipulationLanguage,数据操作语言):用于检索或修改数据。DML可以细分为以下几个语句:SELECT:用于检索数据INSERT:用于增加数据到数据库UPDATE:用于从数据库中修改现存的数DELETE:用于从数据库中删除数据(2)DDL(DataDefinitionLanguage,数据定义语言):用于定义数据的结构,比如创建、修改或者删除数据库对象;DDL语句可以用于创建用户和重建数据库对象。DDL命令主要有:CREATETABLE:建立关系模式ALTERTABLE:修改关系模式DROPTABLE:删除关系模式CREATEINDEX:建立索引DROPINDEX:删除索引(3)DCL(DataControlLanguage,数据控制语言):用于设置或者更改数据库用户权限的语句。下面是几个DCL命令:ALTERPASSWORD:修改密码GRANT:授予访问权限REVOKE:解除访问权限12.2.2常用SQL编程语句1.创建表CREATTABLE语句用于创建和定义新的基本表。其语法格式为:CREATTABLE<表名>(<列名><数据类型>[列级完整性约束条件][,<列名><数据类型>[列级完整性约束条件]]...[,<表级完整性约束条件>]);2.改基本表
ALTERTABLE语句用于在一个关系模式中增加、删除或修改基本表属性。其语法格式为:ALTERTABLE<表名>[ADD<新列名><数据类型>[完整性约束]][DROP<完整性约束名>][MODIFY<列名><数据类型>];3.删除表DROPTABLE语句用于删除一个基本表,其语法格式为:DROPTABLE<表名>4.插入数据行INSERT语句用于向数据库表中添加新的行数据。其语法格式为:INSERTINTO<表名>[(<属性列1>,<属性列2>...)]VALUES(常量1,常量2,...);如果INSERTINTO语句没有指定任何列名,则必须为每个属性列赋值,且排列顺序必须和数据库表中的属性列一致;如果只有部分属性列没指定,则新记录在这些指定列中取空值。5.查询SELECT语句是数据库操作中使用最多的语句,掌握SELECT语句是熟练应用数据库的基础。SELECT语句的语法格式为:SELECT[ALL│DISTINCT]<目标列表达式>[,<目标列表达式>]...FROM<表名或视图名>[,<表名或视图名>]...[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC│DESC]];运算符描述使用方法数值常量1234‘’“”字符(串)常量‘abcd’“abcd”{}日期常量{3/12/7}{12:11:17}.T.,.F.逻辑常量.T.,.F.()优先运算符(A+B)*(C-D)+-加减A+B,C-D*/乘/除A*B,C/D+-正负-A+字符串连接符‘txta’+‘txtb’=等于Wherea=b<>大于小于WHEREa>b表12-1 常见运算符>=<=大于等于小于等于WHEREa>=bIN,NOTIN判断表达式是否包含列表中指定项WHEREaIN(‘apple’,‘egg’)ANYALL否个值所有值WHEREa>=ANY大于等于子查询中的某个值BETWEEN指定值的范围WHEREcBETWEENaANDb(c在a和b之间)EXISTSNOTEXISTS存在判断WHEREEXISTS(SELECT*FROM…WHERE…)LINK/NOTLINK模糊查询,常用于字符串匹配WHEREnameLINK‘SUN’NULL/NOTNULL判断表达式是否为空WHEREgradeISNULLWHEREgradeNOTNULL+连接运算符<表达式1>+<表达式2>NOTANDOR非与或WHEREa=1ANDb<=100*所有列SELECT*FROMtable1运算符描述使用方法续表12.3通过LabSQL访问数据库12.3.1LabSQL工具包概述LabSQL是一个免费开源的数据库访问工具包,它是第三方公司的产品。通过它可以访问和操作任何基于ODBC的数据库,包括SQLServer、Access以及Oracle等。LabSQL内包含很多VI,通过调用这些特殊功能的VI可以方便地实现数据库的访问。使用LabSQL访问数据库实质是通过使用MicrosoftADO及SQL语言实现数据库的访问。LabSQL把底层的ADO操作模块化封装,主要分为三大模块,命令模块、连接模块、记录集模块,如图12-2所示。图12-2LabSQLADO函数选板12.3.2数据源的两种创建方法在使用LabSQL前,需要创建一个数据源并建立数据库的连接。在实际工程中会经常使用SQLServer数据库和Access数据库。下面讲解如何利用这两种数据库来新建一个名为liu的数据库,并在数据库中新建一个名为ziliao的表。1.在SQLServer中创建数据库的步骤图12-3新建数据库
图12-4表格设置窗口2.在Access中创建数据库的步骤图12-5新建表对话框图12-6设计视图方法创建的表界面12.3.3数据源的三种连接方式在Labview中常用的数据源连接方式有三种:使用ODBC设定系统数据源的方式连接;使用UDL文件的方式连接数据源;以字符串的形式输入连接信息。1.使用ODBC设定系统数据源的方式连接图12-7ODBC管理器
图12-8数据源驱动选择对话框图12-9ODBC数据源配置向导窗口2.使用UDL文件的方式连接数据源UDL文件是指通用数据连接文件,用于保存连接字符串。3.以字符串的形式输入连接信息ConnectionString端子用于设置或返回建立连接数据源的细节信息。12.3.4LabSQL中的数据操作【例12-8】数据库的基本操作技巧。图12-10表math1.条件查询图12-11条件查询2.插入数据图12-12插入数据3.修改数据图12-13修改数据图12-14修改数据24.删除数据图12-15删除数据图12-16删除数据(2)12.4通过ADO控件访问数据库ADO对象在LabVIEW中是以ActiveX对象的形式提供的。LabVIEW自4.1版本就引入了支持ActiveX自动控制的功能模块,在5.1版本之后支持客户和服务器双方,即尽管程序是各自独立存在的,但它们的信息是共享的。这种信息共享是通过客户端使用由服务器端发布的ActiveX控件来实现的。图12-17LabVIEW中调用ADO
访问数据库的程序流程【例12-9】在前面使用数据库中sun.mdb的表math中插入一组数据。(1)建立ADO对象图12-18选择ADO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第1单元 古代亚非文明(高频非选择题25题)(原卷版)
- 《波兰歪屋设计》课件
- 《证券市场概述周》课件
- 玩具设计美工工作总结
- 2023-2024年项目管理人员安全培训考试题带答案(黄金题型)
- 关于认识实习报告汇编六篇
- 《系统安全评价概述》课件
- 《妇产科学绪论》课件
- 《监理工作程序》课件
- 《应用开发和管理》课件
- 护理人文关怀质量评价标准
- 诉讼费退费确认表
- 全球变暖视野下中国与墨西哥的能源现状分析
- 建筑结构荷载统计计算表格(自动版)
- 学前教育学课程思政建设
- 事故隐患报告和举报奖励制度
- 腹部外伤门诊病历
- 品质异常处理及要求培训
- 模具部年终总结--ppt课件
- 立式热虹吸再沸器机械设计说明书
- 国家开放大学电大《生产与运作管理》2025-2026期末试题及答案
评论
0/150
提交评论