labview数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LabVIEW中数据库访问途径(二)
2.3 SQL添加记录语句
添加记录的语句格式:
INSERT INTO<表名>[(<属性列1>[<属性列2>。。。])VALUES(<常量1>)[,<常量2>]…]
常量与属性列需一一对应,但并不是表中所有的属性列都需要出现在语句中。如果某些属性列在语句中没有出现,则新纪录在这些列上将取空值。需要注意的是,主键列以及在表定义时,说明了NOT NULL(非空)的属性列必须设置值。另外还需保证插入的记录其主键列值不能和数据库中已有的记录重复,否则会出错。
如果语句中没有指明任何列名,则新插入的记录在每个属性列上必须均赋值,且排列顺序必须和数据库表中属性列一致。设置的值必须满足数据表中对应列的数据类型,不同的数据库管理系统中数据的输入格式会稍有不同,但一般来说,字符串数据用西文单引号括起来,数字型数据直接输入,日期型数据用##括起来。
下面的SQL语句用来向“InstruInfo”表中添加一条记录:
"INSERT InstruInfo(ID, Name, Type, Price, By_DataTime)
VALUES('1001','信号源','ESG-3000',50000,#2005-12-10#);"
2.4 SQL修改记录语句
修改记录语句,格式为
UPDATE<表名>
SET<列名>=<表达式>[,<列名>=<表达式>]…
[WHERE <条件>];
语句的功能是修改指定表中满足WHERE子句条件的元组。其中SET子句用于指定修改方法,即用<表达式>的值取代相应的属性列值。如果省略WHERE子句,则表示修改表中的所有元组。
例如,数据库中的“Employee”有一列“Wage”用来记录员工的工资,如果决定所有员工工资涨至原来的1.1倍,可以用下面的SQL语句来更新表。
"UPDATE Employee SET Wage = (Wage*1.1);"
下面的SQL语句十一个带条件表达式的更新语句,更新的只是表中满足条件的数据行:
"UPDATE menber SET lastname ='Benson' WHERE member_no =509;"
2.5 SQL 删除记录语句
删除语句格式为:
DELETE FROM <表名> [WHERE <条件>];
DELETE语句的功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句,表示删除表中全部元组,但表的定义仍在数据库字典中,可以向表中添加新纪录。也就是说,DELETE语句删除的是表中的数据,而不是关于表的定义。
下面的SQL语句将“item”表中凡是字段“isbn”的值为10101且字段
“title_no”的值为8的数据行删除。
"DELETE FROM item WHERE isbn = 10101 AND title_no =8;"
3 ADO编程基础
3.1 ADO模型
ADO是ActiveX Data Object的缩写,建立在OLE DB底层技术之上。ADO实际上是每一个OLE DB客户程序,使用ADO的应用程序简介的使用了OLE DB。
OLE DB是ODBC的扩展,既可以直接链接数据库,也可以同过ODBC连接数据库。LabVIEW中基于ADO的数据库编程结果层次如图所示
图1 基于ADO的LabVIEW数据库编程结构层次
ADO简化了OLE DB,属于高层数据库编程接口,具有易于使用、速度高、内存支出低和磁盘空间占用少等优点。ADO支持用于建立基于客户端/服务器和Web的应用程序的主要功能。
ADO提供了一种数据库编程对象模型,实际上就是由一组Automation对象构成的组件,因此可以像使用其他任何Automation对象一样使用ADO,ADO中常用的对象有Connection、Command、Recordset、Parameter、Field和Error,他们分别表示链接、命令、记录集、参数、字段和错误等对象。了解了这些对象及其属性和方法,就可以实现大部分数据库操作。ADO对象之间关系如图2
图2 ADO编程模型
(1) Connection:连接对象。通过“连接”可从应用程序访问数据源,连接是交换数据所必须的环境。
(2) Command:命令对象。通过已建立的连接发出的“命令”可以实现数据的各种操作。一般情况下,命令可以在数据源中添加、删除或者更新数据,或者在表中以行的格式检索数据。
(3) Parameter:参数对象。通常,命令需要的变量部分即“参数”,可以在调用命令之前进行设置。例如,可重复调用相同的查询命令,但每一次均可更改指定的查询内容。
(4) Recordset:记录集对象。如果命令是在表中按信息行返回数据的查询(行返回查询,则这些行将会存储在本地。记录集是在行中检查和修改数据最主要的方法,常用于以下操作:指定可以查询的行、移动行、指定移动行的顺序、添加行、更改行或删除行,通过更改行更改数据源以及管理Recordset的总体状态等。
(5) Field:字段对象。一个记录集行包含一个或者多个“字段”,即对应数据库中的“列”,每一个字段(列)都分别包含有名称(Name)、数据类型(Type)和值(Value)的属性。正式在该值中包含有来自数据源的真实数据,因此要修改数据源中的数据,可以在记录集行中修改Field对象的值,最后由Recordset 对象将这些修改提交到数据源。
(6) Error:错误对象。包含了ADO数据操作时发生错误的详细描述,ADO的任何对象都可以产生一个或者多个数据提供者错误,当错误发生时,这些错误对象被添加到Connection对象的Error集合中。错误通常是由于无法建立连接、执行命令或对某些状态(如试图使用没有初始化的记录集)的对象操作不当等引起的。任何错误都会产生一个或多个Error对象,随后产生的错误将会覆盖先前的Error对象组。
3.2 ADO编程基础
ADO编程的关键是熟练运用ADO提供的各种对象(Object)、方法(Method)、属性(Property)和容器(Collection)。另外,如果在MS SQL或Oracle等大型数据库上编程,还需熟练SQL语言。
通常情况下,基于ADO的数据库编程使用如下过程操作数据源的数据:
(1)连接到数据源,并可确定对数据源的所有更改是否成功或者没有发生
(2)指定访问数据源的命令,同时可带变量参数或优化执行。
(3)执行一个SQL命令,如果这个命令使数据按表中的行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中。
(4)提供常规方法测试错误(通常由建立连接或执行命令造成)。