下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于sql的labview数据库访问技术
1数据库访问技术使用excel进行开发应用程序时,由于调试本身的数据库访问功能,一般解决方法如下。1)利用NI公司的附加数据库接口工具包LabVIEWSQLToolkit进行数据库访问。2)利用LabVIEW的ActiveX功能,调用MicrosoftADO控件,利用SQL语言实现数据库访问。3)利用其他语言如VisualC++编写DLL程序访问数据库,再利用LabVIEW所带的DLL接口——调用库函数节点CLFN(CallLibraryFunctionNode)访问该程序,这样可以实现间接访问数据库。4)利用免费的LabVIEW数据库访问工具LabSQL。2ado的程序LabSQL的开发是在LabVIEW中利用ActiveX功能,通过调用MicrosoftADO控件,结合SQL语言,并通过ODBC接口函数库驱动程序实现对数据库的访问,其结构层次见图1。MicrosoftADO是微软最新的数据访问技术,通过编程模型实现对数据库的操作。编程模型是访问和更新数据源所必需的操作顺序,它概括了的全部功能。ADO的目标是访问、编辑和更新数据源;利用ADO所提供的类和对象可以完成以下操作:1)连接到数据源;2)指定访问数据源的命令同时可带变量参数或优化执行;3)执行命令;4)如果这个命令使数据按表中行的形式返回,则将这些行存储在易于检查、操作或更改的缓存中;5)可使用缓存行的更改内容来更新数据源;6)提供常规方法检测错误。ADO对象模型如图2所示。这些操作都是对数据库最基本的操作,可以分为Connection、Command、Recordset等三类,在应用程序开发过程中,为实现对数据库进行访问,这些操作方法以子函数的形式进行封装,例如经过封装后的SQLExecute.vi,SQLFetchData.vi等函数便可直接进行调用,按照输入的SQL命令可实现数据库的不同操作。利用LabSQL访问数据库的基本步骤是连接数据库、执行操作、断开数据库连接等三个步骤,用户在执行操作阶段输入不同的SQL命令,可实现不同的数据库操作,包括查询全部数据记录、按条件查询数据、添加记录、删除记录等。3数据库管理子系统在开发某自动测试系统过程中,由于有大量的测试信息需要存入数据库记录,同时为了满足方便日后查询的需要,测试系统应用软件包含了用于数据库管理操作的应用程序,通过点击系统管理用户界面的“数据库管理”便可进入数据库管理应用程序。在开发过程中,选用Access作为数据库,在LabVIEW中使用LabSQL工具包对数据库进行访问。3.1数据库管理系统测试平台的数据库名称为Test.mdb,该数据包含两个数据表项,分别是test_condition和test_reslut;这两个表是进行数据库操作的基础。通过控制面板中的数据源(ODBC)设置工具,对Test.mdb进行数据源的注册设置。开发的数据库管理用户界面如图3所示。该界面分三个区域,分别是操作提示区、操作区、结果显示区等三个部分。操作提示区用于提示用户如何进行相关的数据库操作。操作区用于具体的数据库操作,用户可按测试时间、被测电路板名称、测试结果等三个索引对测试结果数据进行查询、打印、删除等操作。在进行该部分程序开发时,为避免用户直接输入SQL查询语句,在编程上将SQL查询语句放入后台进行处理,用户仅需根据提示区的提示,在查询命令框中输入简单的关键词即可实现对数据库的操作。3.2dsn端口和生物电子函数为实现对数据库的操作管理以及数据获取的需要,以下子函数在数据库管理应用程序得开发过程中扮演者重要的角色。1)InsertTable.vi,该子函数用于将测试结果写入数据库。该函数的主要操作对象是test_result数据表,将该子函数进行封装,见图4。函数图标留有若干输入输出端口,主要的数据连接端口有DSN(databasesourcename,数据源名称)端口、board_name(电路板名称)端口、f1_value(输出信号频率测量值)、amp1_value(输出信号幅度测量值)、f1_standard(输出信号频率标准值)、amp1_standard(输出信号幅度标准值)、result(测试结论)等端口。DSN端口用于打开数据库中的存储测试结果表项;board_name用于将当前被测电路板的名称存入数据库,便于查询索引;f1_value和amp1_value为被采集信号经过分析后的测量值;f1_standard和amp1_standard来自测试条件数据表,这两个值的获取也是通过数据库操作函数得到的;result来自测试结果处理子函数,若被测电路板通过测试,则表达为“合格”,反之为“不合格”。2)_fetchoneelement.vi,该子函数用于从数据库中获取一个值,主要用于程序开发时的参数获取,例如获得电路板X的输入信号的频率值。该子函数的操作对象主要是test_condition数据表,获取的值主要用于传送给信号源模块PXI-5412的参数设置端。源代码程序见图5,封装后的程序见图6。DSN端口用于打开数据库中的测试条件表项;board_name端口作为查询的行索引,取出与电路板名称相符的测试条件数据;parameter(参数名)端口的输入作为查询的列字段索引;输出端口output1和output2为类型不同的输出,分别是数值型和字符型。例如,为取得电路板X的输入信号的频率值,那么在board_name端口输入字符串“X”,在parameter端口输入signal1_f,那么在程序运行时,从output1端口,就可从数据库的测试条件test_condition表中获得电路板X输入信号的频率值。3)DB_delete.vi,该子程序用于将查询结果从数据库中进行删除操作。以上几个数据库操作子函数是数据库管理应用程序开发时常用的函数,在开发过程中,对上述的功能子函数进行适当的调用或二次开发封装可以满足对不同数据获取的要求。3.3sql查询命令的生成在数据库管理软件的开发过程中,虽然利用了LabSQL工具包,但不可避免地要用到简单的SQL查询命令语句。在开发的过程中,常用到的SQL语句有以下几种。1列名论SELECT<查询内容>FROM<表或视图>WHERE<条件>ORDERBY<列名>。开发时常用到的SQL语句有查询全部测试结果记录语句:SELECT*FROMtest_result查询指定方式的SQL语句为:SELECT*FROMtest_resultWHERETest_time=‘060920’2转化测试结果表,插即出学习结果表,《磺酸酸》,《磺酸盐系统见表2,5,5.向测试结果数据表中插入一次测试的结果记录时,SQL语句格式为:INSERTINTO<表名>(<列名1>,……)VALUES(<列值>,……)向测试结果表test_result中插入记录的SQL语句如下:INSERTINTOtest_result(Test_time,bord_name,f1_value,amp1_value,f1_standard,amp1_standard,result)VALUES(<列值>,……)3反复加装置的测试信息DELETEFROM<表名>WHERE<条件>下面是对查询结果进行删除的SQL语句:DELETEFROMtest_resultWHEREboard_name=‘XX’当程序执行完上述语句后,在rest_result表中,所有关于电路板XX的测试信息全部被删除。可以根据删除条件的不同,删除不同的测试信息。4对所使用的技术的开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度锚具行业绿色生产技术合作合同4篇
- 2025年物业服务企业员工培训劳务合同模板2篇
- 2025年度楼房自来水水质安全风险评估合同4篇
- 二零二五年翡翠珠宝批发代销服务合同3篇
- 二零二五年度太阳能光伏项目分包保证金合同范本3篇
- 2025年智慧城市建设项目树木绿化工程合同范本3篇
- 二零二五版代持合同合规审查协议3篇
- 2025年消防工程安全生产监理合同集锦3篇
- 2025版煤矿公司员工薪酬及福利保障合同4篇
- 2025版高速公路车辆通行费收取合同范本3篇
- 2024年江苏苏州中考数学试卷及答案
- 2024年山东省高中自主招生数学模拟试卷试题(含答案)
- 算术平方根2课件
- 【人教版】九年级化学上册期末试卷及答案【【人教版】】
- 四年级数学上册期末试卷及答案【可打印】
- 人教版四年级数学下册课时作业本(含答案)
- 中小学人工智能教育方案
- 高三完形填空专项训练单选(部分答案)
- 护理查房高钾血症
- 项目监理策划方案汇报
- 《职业培训师的培训》课件
评论
0/150
提交评论