广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    LabWindows CVI-Access数据库

    来源:网络收集  点击:  时间:2024-03-27
    【导读】:
    NI LabWindows/CVI数据库连接(SQL)工具包提供了一套简单易用的工具,使用户能快速连接本地或远程数据库,并且无需进行结构化查询语言(SQL)编程就可以执行诸多常用的数据库操作。可以更方便地连接各种常用数据库,如Microsoft Access、SQL Server和Oracle。如需高级数据库的功能和灵活性,LabWindows/CVI数据库连接(SQL)工具包还可以提供所有SQL功能。工具/原料moreLabWindows CViAccessSQL Tool Kit实现过程1/14分步阅读

    到NI官网下载,注意下载的版本是否支持对应的计算机操作系统和LabWindows/CVI版本;

    2/14

    打开LabWindows CVI 2013,选择 New-project,如下图所示;

    3/14

    File-New-User Interface(*.uir);

    4/14

    在untitled panel界面上放置如下几个控件:Name(字符串),Age(整数),PVale(浮点数),PDateTime(字符串代替时间,因为cvi没有时间控件),Write(Command Button),Close(Command Button);

    5/14

    Code-Generate -All Code,弹出如下对话框,选择Yes;

    6/14

    Set Target File,选择OK;

    7/14

    Generate ALL Code,1)设置Target File:Create New Project;2)Traget Type:Executeable;3)Project Filename;4)Source FileName;5)选择启动Panel;6)选择退出应用程序按钮;点击OK;

    8/14

    选择Project Location:Create Project in Current Workspace;Transfer Project Options:Bulid Options;点击OK;

    9/14

    生产初始化代码:

    #include cvirte.h

    #include userint.h#include cviaccess.hstatic int panelHandle;int main (int argc, char *argv){if (InitCVIRTE (0, argv, 0) == 0)return -1;/* out of memory */if ((panelHandle = LoadPanel (0, cviaccess.uir, PANEL)) 0)return -1;DisplayPanel (panelHandle);RunUserInterface ();DiscardPanel (panelHandle);return 0;}

    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;}

    10/14

    新建一个名称为MyDB.mdb数据库,并新建名称为Train的表:包括ID(自动编号),Name(段文本),Age(整数类型),PValue(双精度类型),PDateTime(日期/时间)一共五列;

    11/14

    新增如下代码:

    #include cvirte.h#include userint.h#include cviaccess.h#include cvi_db.h //Cvi sql toolkit头文件

    #include ansi_c.h#include utility.hstatic int panelHandle,hdbc,hstat;struct Data{char Name;int Age;double PValue;char PDateTime;}DBData;int main (int argc, char *argv){if (InitCVIRTE (0, argv, 0) == 0)return -1;/* out of memory */if ((panelHandle = LoadPanel (0, cviaccess.uir, PANEL)) 0)return -1;DisplayPanel (panelHandle);RunUserInterface ();DiscardPanel (panelHandle);return 0;}

    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;}

    12/14

    点击RUN,设置控件值Name=Sam,Age=66,PValue=55.55,PDateTime=2016/12/1 8:02:19,然后点击Write;

    13/14

    打开MyDB.mdb数据库,其中新值已经写入;

    14/14

    其他语法请参考SQL语言,方法基本一致;

    注意事项

    SQL语言语法

    Access的驱动类型(mdb/accdb);

    CVI SQL toolkit 和LabVIEW DataBase Connectivity Toolkit区别

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_365851.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 08:49:44  耗时:0.024
    0.0244s