版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第12章章 访问数据库访问数据库 当编写记录采集数据、存储文件信息、当编写记录采集数据、存储文件信息、回放存储波形等应用程序功能模块时,通回放存储波形等应用程序功能模块时,通常需要使用数据库访问技术。相对于文件常需要使用数据库访问技术。相对于文件系统使用数据库可以方便地实现大量数据系统使用数据库可以方便地实现大量数据的存储、管理和条件查询。的存储、管理和条件查询。 LabVIEW本身不能直接访问数据库,本身不能直接访问数据库,但是可以通过使用以下方法来实现但是可以通过使用以下方法来实现LabVIEW对数据库访问。对数据库访问。 (1)利用)利用LabVIEW的的ActiveX功能调用功能调用
2、ADO控件,使用控件,使用SQL语言访问数据库语言访问数据库 (2)利用免费数据库工具包)利用免费数据库工具包LabSQL实现对实现对数据库的访问数据库的访问 (3)利用)利用LabVIEW中的中的DLL接口间接访问接口间接访问数据库数据库 (4)利用)利用NI提供的专门的数据库访问工具提供的专门的数据库访问工具包包Database Connectivity Toolkit实现对实现对数据库的访问数据库的访问12.1 Microsoft ADO 12.1.1 Microsoft ADO基础知识基础知识 ADO(ActiveX Data Objects,ActiveX数据对象)是数据对象)是Mi
3、crosoft提出的应提出的应用程序接口(用程序接口(API)用以实现访问关系或非)用以实现访问关系或非关系数据库中的数据。关系数据库中的数据。 ADO访问数据源的特点可以概括如下。访问数据源的特点可以概括如下。 (1)易于使用,可以说这是)易于使用,可以说这是ADO最重要的最重要的特点之一。特点之一。 (2)可以访问多种数据源,使应用程序具)可以访问多种数据源,使应用程序具有很好的通用性和灵活性。有很好的通用性和灵活性。 (3)访问数据源效率高,高速度,低内存,)访问数据源效率高,高速度,低内存,占磁盘控件小。占磁盘控件小。 (4)有远程数据服务功能,方便的)有远程数据服务功能,方便的Web
4、应应用。用。 (5)只需创建一个)只需创建一个Connection对象就可以对象就可以有多个独立有多个独立Recordset对象使用它。对象使用它。12.1.2 Microsoft ADO的对象模型的对象模型 ADO通过编程模型实现对数据库的操通过编程模型实现对数据库的操作。作。 编程模型意味着对象模型,即响应并编程模型意味着对象模型,即响应并执行编程模型的执行编程模型的“对象对象”组。对象包含的组。对象包含的参数类型有:方法、属性和事件。参数类型有:方法、属性和事件。 ADO的目的是访问、编辑和更新数据的目的是访问、编辑和更新数据源。源。 它提供执行以下的操作方式。它提供执行以下的操作方式。
5、 (1)建立与数据源的连接()建立与数据源的连接(Connection),),可选。可选。 (2)创建表示命令(如)创建表示命令(如SQL命令)的对象命令)的对象(Command),可选。),可选。 (3)在)在SQL命令中指定列、表和值作为变命令中指定列、表和值作为变量参数(量参数(Parameter),可选。),可选。 (4)执行命令()执行命令(Command、Connection 或或 Recordset)。)。 (5)如果命令以行返回,则将行存储在缓)如果命令以行返回,则将行存储在缓存中(存中(Recordset)。)。 (6)创建缓存视图以便对数据进行排序、)创建缓存视图以便对数据
6、进行排序、过滤和定位(过滤和定位(Recordset),可选。),可选。 (7)通过添加、删除或更改行和列来编辑)通过添加、删除或更改行和列来编辑数据(数据(Recordset)。)。 (8)适当情况下,用缓存中的更改内容来)适当情况下,用缓存中的更改内容来更新数据源(更新数据源(Recordset)。)。 (9)在使用事务之后,可以接受或拒绝在)在使用事务之后,可以接受或拒绝在事务中所做的更改,结束事务事务中所做的更改,结束事务(Connection)。)。 ADO对象模型包含有对象模型包含有9个对象。个对象。(1)连接对象)连接对象(2)命令对象)命令对象(3)记录集对象)记录集对象(4)
7、记录对象)记录对象 (5)数据流对象)数据流对象 (6)字段对象)字段对象 (7)参数对象)参数对象 (8)属性对象)属性对象 (9)错误对象)错误对象1连接对象连接对象 对象模型用对象模型用connection对象来体现连对象来体现连接的概念。通过连接(接的概念。通过连接(Connection)可从)可从应用程序访问数据源,连接是交换数据所应用程序访问数据源,连接是交换数据所必需的环境。必需的环境。 2命令对象命令对象 对象模型用对象模型用Command对象来体现参数对象来体现参数的概念。的概念。“命令命令”通过已建立的连接发出,通过已建立的连接发出,它能以某种方式操作数据源。命令通常可它能
8、以某种方式操作数据源。命令通常可以在数据源中添加、删除或更新数据,或以在数据源中添加、删除或更新数据,或者以表中行的格式检索数据。者以表中行的格式检索数据。3记录集对象记录集对象 对象模型用对象模型用Recordset对象对来自提供对象对来自提供者的数据进行操作。使用者的数据进行操作。使用ADO时,将几乎时,将几乎全部使用全部使用Recordset对象来对数据进行操作。对象来对数据进行操作。所有所有Recordset对象均由记录(行)和字段对象均由记录(行)和字段(列)组成。某些(列)组成。某些Recordset方法或属性可方法或属性可能不可用,这取决于提供者支持的功能。能不可用,这取决于提供
9、者支持的功能。4字段对象字段对象 对象模型用对象模型用Field对象来体现字段。对象来体现字段。 Recordset的一行由一个或多个的一行由一个或多个“字段字段”组组成。如果把成。如果把Recordset看作二维网格,排成看作二维网格,排成行的字段将构成行的字段将构成“列列”。每一字段(列)。每一字段(列)都分别具有名称、数据类型和值等属性。都分别具有名称、数据类型和值等属性。正是在这个值中包含了来自数据源的实际正是在这个值中包含了来自数据源的实际数据。数据。 除了包含有除了包含有9个对象外,个对象外,ADO对象模型对象模型还包含有还包含有4个集合。集合也是一种对象,它个集合。集合也是一种对
10、象,它可方便地包含其他特定类型的对象。使用可方便地包含其他特定类型的对象。使用集合属性可按名称(文本字符串)或序号集合属性可按名称(文本字符串)或序号(整数)对集合中的对象进行检索。(整数)对集合中的对象进行检索。(1)Errors集合集合 (2)Parameters集合集合 (3)Fields集合集合 (4)Properties集合集合 ADO对象包含属性,可通过对象包含属性,可通过INTEGER、CHARACTER或或BOOLEAN等公用数据类等公用数据类型在其中设置或检索值。型在其中设置或检索值。 12.2 SQL数据库语言数据库语言 SQL(Structured Query Langu
11、age,结构查询语言)是一个功能强大的数据库语结构查询语言)是一个功能强大的数据库语言,集数据查询(言,集数据查询(Data Query)、数据操作)、数据操作(Data Manipulation)、数据定义()、数据定义(Data Definition)和数据控制()和数据控制(Data Control)于一体,常用于数据库的通信。于一体,常用于数据库的通信。 与与C、Pascal等语言不同,等语言不同,SQL没有循没有循环结构(如环结构(如if-then-else、do-while)以及)以及函数定义等的功能。而且函数定义等的功能。而且SQL只有一个数只有一个数据类型的固定设置,换句话说,
12、用户不能据类型的固定设置,换句话说,用户不能在使用其他编程语言的时候创建自己的数在使用其他编程语言的时候创建自己的数据类型。据类型。12.2.1 SQL基础知识基础知识 SQL语言支持关系数据库三级模式结语言支持关系数据库三级模式结构,如图构,如图12-1所示。其中外模式对应于视所示。其中外模式对应于视图和部分基本表,模式对应于基本表,内图和部分基本表,模式对应于基本表,内模式对应于存储文件。模式对应于存储文件。图图12-1 SQL12-1 SQL对关系数据库模式的支持对关系数据库模式的支持 (1)DML(Data Manipulation Language,数据操作语言):用于检索或修改数据
13、。数据操作语言):用于检索或修改数据。 DML可以细分为以下几个语句:可以细分为以下几个语句:SELECT:用于检索数据:用于检索数据INSERT:用于增加数据到数据库:用于增加数据到数据库UPDATE:用于从数据库中修改现存的数:用于从数据库中修改现存的数DELETE:用于从数据库中删除数据:用于从数据库中删除数据 (2)DDL(Data Definition Language,数据定义语言):数据定义语言): 用于定义数据的结构,用于定义数据的结构,比如创建、修改或者删除数据库对象;比如创建、修改或者删除数据库对象;DDL语句可以用于创建用户和重建数据库语句可以用于创建用户和重建数据库对象
14、。对象。DDL命令主要有:命令主要有:CREATE TABLE:建立关系模式:建立关系模式ALTER TABLE:修改关系模式:修改关系模式DROP TABLE:删除关系模式:删除关系模式CREATE INDEX:建立索引:建立索引DROP INDEX:删除索引:删除索引 (3)DCL(Data Control Language,数,数据控制语言):用于设置或者更改数据库据控制语言):用于设置或者更改数据库用户权限的语句。下面是几个用户权限的语句。下面是几个DCL命令:命令:ALTER PASSWORD:修改密码:修改密码GRANT:授予访问权限:授予访问权限REVOKE:解除访问权限:解除访
15、问权限 12.2.2 常用常用SQL编程语句编程语句 1创建表创建表 CREAT TABLE语句用于创建和定义新语句用于创建和定义新的基本表。其语法格式为:的基本表。其语法格式为: CREAT TABLE(列级完整性约束条件列级完整性约束条件 ,列级完整性约束条件列级完整性约束条件 . ,););2改基本表改基本表 ALTER TABLE语句用于在一个关系模语句用于在一个关系模式中增加、删除或修改基本表属性。其语式中增加、删除或修改基本表属性。其语法格式为:法格式为: ALTER TABLE ADD完整性约束完整性约束 DROP MODIFY;3删除表删除表 DROP TABLE语句用于删除一
16、个基本语句用于删除一个基本表,其语法格式为:表,其语法格式为: DROP TABLE4插入数据行插入数据行 INSERT语句用于向数据库表中添加新语句用于向数据库表中添加新的行数据。其语法格式为:的行数据。其语法格式为: INSERT INTO(,.) VALUES(常量(常量1,常量,常量2,.); 如果如果INSERT INTO语句没有指定任何语句没有指定任何列名,则必须为每个属性列赋值,且排列列名,则必须为每个属性列赋值,且排列顺序必须和数据库表中的属性列一致;如顺序必须和数据库表中的属性列一致;如果只有部分属性列没指定,则新记录在这果只有部分属性列没指定,则新记录在这些指定列中取空值。
17、些指定列中取空值。 5查询查询 SELECT语句是数据库操作中使用最多语句是数据库操作中使用最多的语句,掌握的语句,掌握SELECT语句是熟练应用数语句是熟练应用数据库的基础。据库的基础。 SELECT语句的语法格式为:语句的语法格式为: SELECTALLDISTINCT,. FROM ,. WHERE GROUP BY HAVING ORDER BY ASCDESC;运运 算算 符符描描 述述使使 用用 方方 法法数值常量数值常量12341234“”“”字符(串)常量字符(串)常量abcd“abcd”abcd“abcd”日期常量日期常量3/12/7 123/12/7 12:1111:171
18、7.T.T.,.F.F.逻辑常量逻辑常量.T. .T. ,.F.F.()()优先运算符优先运算符(A+BA+B)* *(C CD D)+ + 加减加减A+B A+B ,C CD D* * / /乘乘/ /除除A A* *B B ,C/DC/D+ + 正负正负A A+ +字符串连接符字符串连接符txtatxtatxtbtxtb等于等于Where aWhere ab b大于大于 小于小于WHERE abWHERE ab表表12-112-1常见运算符常见运算符 WHERE ab bININ,NOT INNOT IN判断表达式是否包含列表中指判断表达式是否包含列表中指定项定项WHERE a INWHE
19、RE a IN(appleapple,eggegg)ANY ALLANY ALL否个值否个值 所有值所有值WHERE aWHERE aANY ANY 大于等于子查询中的某个值大于等于子查询中的某个值BETWEENBETWEEN指定值的范围指定值的范围WHERE c BETWEEN a AND b WHERE c BETWEEN a AND b (c c在在a a和和b b之间)之间)EXISTS NOT EXISTSEXISTS NOT EXISTS存在判断存在判断WHERE EXISTSWHERE EXISTS(SELECTSELECT* *FROMWHEREFROMWHERE)LINK /
20、NOT LINKLINK /NOT LINK模糊查询,常用于字符串匹配模糊查询,常用于字符串匹配WHERE name LINKSUNWHERE name LINKSUNNULL/NOT NULLNULL/NOT NULL判断表达式是否为空判断表达式是否为空WHERE grade IS NULL WHERE grade NOT NULLWHERE grade IS NULL WHERE grade NOT NULL+ +连接运算符连接运算符 +2NOT AND ORNOT AND OR非与或非与或WHERE aWHERE a1 AND b=1001 AND b=100* *所有列所有列SELEC
21、T SELECT * *FROM table1FROM table1运运 算算 符符描描 述述使使 用用 方方 法法续表续表12.3 通过通过LabSQL访问数据库访问数据库 12.3.1 LabSQL工具包概述工具包概述 LabSQL是一个免费开源的数据库访问是一个免费开源的数据库访问工具包,它是第三方公司的产品。通过它工具包,它是第三方公司的产品。通过它可以访问和操作任何基于可以访问和操作任何基于ODBC的数据库,的数据库,包括包括SQL Server、Access以及以及Oracle等。等。LabSQL内包含很多内包含很多VI,通过调用这些特殊,通过调用这些特殊功能的功能的VI可以方便地
22、实现数据库的访问。可以方便地实现数据库的访问。 使用使用LabSQL访问数据库实质是通过使访问数据库实质是通过使用用Microsoft ADO及及SQL语言实现数据库语言实现数据库的访问。的访问。LabSQL把底层的把底层的ADO操作模块操作模块化封装,主要分为三大模块,命令模块、化封装,主要分为三大模块,命令模块、连接模块、记录集模块,如图连接模块、记录集模块,如图12-2所示。所示。图图12-2 LabSQL ADO12-2 LabSQL ADO函数选板函数选板12.3.2 数据源的两种创建方法数据源的两种创建方法 在使用在使用LabSQL前,需要创建一个数据前,需要创建一个数据源并建立数
23、据库的连接。在实际工程中会源并建立数据库的连接。在实际工程中会经常使用经常使用SQL Server数据库和数据库和Access数数据库。下面讲解如何利用这两种数据库来据库。下面讲解如何利用这两种数据库来新建一个名为新建一个名为liu的数据库,并在数据库中的数据库,并在数据库中新建一个名为新建一个名为ziliao的表。的表。1在在SQL Server中创建数据库的步骤中创建数据库的步骤图图12-3 12-3 新建数据库新建数据库 图图12-4 12-4 表格设置窗口表格设置窗口2在在Access中创建数据库的步骤中创建数据库的步骤图图12-5 12-5 新建表对话框新建表对话框 图图12-6 1
24、2-6 设计视图方法创建的表界面设计视图方法创建的表界面12.3.3 数据源的三种连接方式数据源的三种连接方式 在在Labview中常用的数据源连接方式有中常用的数据源连接方式有三种:使用三种:使用ODBC设定系统数据源的方式设定系统数据源的方式连接;连接; 使用使用UDL文件的方式连接数据源;文件的方式连接数据源;以字符串的形式输入连接信息。以字符串的形式输入连接信息。1使用使用ODBC设定系统数据源的方式连接设定系统数据源的方式连接图图12-7 ODBC12-7 ODBC管理器管理器 图图12-8 12-8 数据源驱动选择对话框数据源驱动选择对话框图图12-9 ODBC12-9 ODBC数
25、据源配置向导窗口数据源配置向导窗口2使用使用UDL文件的方式连接数据源文件的方式连接数据源 UDL文件是指通用数据连接文件,用文件是指通用数据连接文件,用于保存连接字符串。于保存连接字符串。 3以字符串的形式输入连接信息以字符串的形式输入连接信息 ConnectionString端子用于设置或返端子用于设置或返回建立连接数据源的细节信息。回建立连接数据源的细节信息。 12.3.4 LabSQL中的数据操作中的数据操作【例【例12-8】数据库的基本操作技巧。】数据库的基本操作技巧。图图12-10 12-10 表表mathmath1条件查询条件查询图图12-11 12-11 条件查询条件查询2插入数据插入数据图图12-12 12-12 插入数据插入数据3修改数据修改数据图图12-13 12-13 修改数据修改数据图图12-14 12-14 修改数据修改数据2 24删除数据删除数据图图12-15 12-15 删除数据删除数据图图12-16 12-16 删除数据(删除数据(2 2)12.4 通过通过ADO控件访问数据库控件访问数据库 ADO对象在对象在LabVIEW中是以中是以ActiveX对象的形式提供的。对象的形式提供
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新《政府会计制度》下行政事业单位财务管理研究
- 四川电影电视学院《大学生网络安全教育》2022-2023学年第一学期期末试卷
- 石河子大学《中国当代文学一》2022-2023学年第一学期期末试卷
- 石河子大学《学前儿童社会性发展与指导》2022-2023学年第一学期期末试卷
- 石河子大学《网络与信息安全》2023-2024学年期末试卷
- 石河子大学《软件项目管理》2021-2022学年期末试卷
- 石河子大学《电工学实验》2022-2023学年期末试卷
- 沈阳理工大学《中国古典园林》2021-2022学年第一学期期末试卷
- 沈阳理工大学《现代控制理论基础》2023-2024学年期末试卷
- 沈阳理工大学《嵌入式系统设计》2021-2022学年第一学期期末试卷
- 五年级口算题卡每天100题带答案
- 期中核心素质卷(试题)-2024-2025学年数学五年级上册北师大版
- 吴忠快速门施工方案
- 华能新能源股份有限公司招聘笔试题库2024
- 《观察一棵植物》教案-2024-2025学年科学一年级上册 教科版
- 消费者画像构建与细分
- 2024北京市租房合同自行成交版下载
- 庆祝第75个国庆节共筑中国梦大国华诞繁盛共享课件
- 2024年江西省高考化学试卷(真题+答案)
- 人教版小学语文一年级单元测试题-全册
- 2024-2030年中国拍卖行业市场深度调研及竞争格局与投资研究报告
评论
0/150
提交评论