LabWindows CVI-Access数据库
的有关信息介绍如下:
NI LabWindows/CVI数据库连接(SQL)工具包提供了一套简单易用的工具,使用户能快速连接本地或远程数据库,并且无需进行结构化查询语言(SQL)编程就可以执行诸多常用的数据库操作。可以更方便地连接各种常用数据库,如Microsoft Access、SQL Server和Oracle。如需高级数据库的功能和灵活性,LabWindows/CVI数据库连接(SQL)工具包还可以提供所有SQL功能。
到NI官网下载,注意下载的版本是否支持对应的计算机操作系统和LabWindows/CVI版本;
2LabWindows CVI-SQL工具包
打开LabWindows CVI 2013,选择 New-project,如下图所示;
File-New-User Interface(*.uir);
File-New-User Interface(*.uir);
在untitled panel界面上放置如下几个控件:Name(字符串),Age(整数),PVale(浮点数),PDateTime(字符串代替时间,因为cvi没有时间控件),Write(Command Button),Close(Command Button);
Code-Generate -All Code,弹出如下对话框,选择Yes;
Set Target File,选择OK;
Generate ALL Code,1)设置Target File:Create New Project;2)Traget Type:Executeable;3)Project Filename;4)Source FileName;5)选择启动Panel;6)选择退出应用程序按钮;点击OK;
选择Project Location:Create Project in Current Workspace;Transfer Project Options:Bulid Options;点击OK;
生产初始化代码:
#include
#include
int CVICALLBACK WriteFunc (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){char sql="",fileName="",ConnectStr="";switch (event){case EVENT_COMMIT:break;}return 0;}
int CVICALLBACK CloseFunc (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:QuitUserInterface (0);break;}return 0;}
新建一个名称为MyDB.mdb数据库,并新建名称为Train的表:包括ID(自动编号),Name(段文本),Age(整数类型),PValue(双精度类型),PDateTime(日期/时间)一共五列;
新增如下代码:
#include
#include
int CVICALLBACK WriteFunc (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){char sql="",fileName="",ConnectStr="";switch (event){case EVENT_COMMIT: GetProjectDir(fileName); //获取当前目录 strcat(fileName,"\\MyDB.mdb"); //获取当前数据库目录 GetCtrlVal (panelHandle,PANEL_Name, DBData.Name);//获取前面板Name GetCtrlVal (panelHandle,PANEL_Age, &DBData.Age);//获取前面板Age GetCtrlVal (panelHandle,PANEL_PValue, &DBData.PValue);//获取前面板Pvalue GetCtrlVal (panelHandle,PANEL_PDateTime, DBData.PDateTime); //获取前面板PDateTime sprintf(sql,"Insert into Train(Name,Age,Pvalue,PDateTime)Values('%s',%d,%f,#%s#)",DBData.Name,DBData.Age,DBData.PValue,DBData.PDateTime);//格式化插入新值SQL语言字符串 sprintf(ConnectStr,"Driver={Microsoft Access Driver (*.mdb)};Dbq=%s;Uid=Admin;Pwd=123456",fileName);//格式化数据库连接字符串 hdbc=DBConnect(ConnectStr);//连接数据库 hstat=DBActivateSQL(hdbc,sql);//执行SQL语言 DBDeactivateSQL(hstat);//断开数据库break;}return 0;}
int CVICALLBACK CloseFunc (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:QuitUserInterface (0);break;}return 0;}
点击RUN,设置控件值Name=Sam,Age=66,PValue=55.55,PDateTime=2016/12/1 8:02:19,然后点击Write;
打开MyDB.mdb数据库,其中新值已经写入;
其他语法请参考SQL语言,方法基本一致;
20LabVIEW访问Access数据库



