首要的安装 sqltoolkits.rar,添加  cvi_db.h   cvi_db.fp,所有测试环境是LabWindows 2013+SQL SERVER 2008 +WINDOWS7/10

1  全局变量和数据结构

const int channelCount=21;  //通道数目int hdbc;                   //数据库连接
int hstat;                  //SQL语句执行
long curRecord=0;           //当前记录
long sumRecord=0;           //记录总数//数据存储类型,每一个结构存储两个通道数据
struct  AquireDataType
{ char w1NodeName[30];      //通道名称1  float w1WinSpeed;      //风速数据1  float w1EnvTemp;       //温度数据1 char w2NodeName[30];    //通道名称2   float w2WinSpeed;     //风速数据2 float w2EnvTemp;        //温度数据2
};//数据存储数组,每一个结构存储两个通道数据
struct AquireDataType WxpAqurieData[channelCount];

2  数据库连接

//连接数据库
void connectDataBase()
{int nBufSize=MAX_COMPUTERNAME_LENGTH+1;TCHAR chBuf[nBufSize];ZeroMemory(chBuf,nBufSize);DWORD dwRet=nBufSize;GetComputerName(chBuf,&dwRet);char ConnectStr[1000];sprintf(ConnectStr,"Provider=SQLOLEDB;Data Source=%s;Integrated Security=SSPI;Initial Catalog=DQmultiChannelDB",chBuf);//LAPTOP-Q8T047LL  SKY-20171206OAShdbc=DBConnect(ConnectStr);
}

3  完成数据插入操作(这里的字段有点多,采用了代码拼接的方式,其实你可以直接写: insert table(item1,item2) values (val1,val2)       )

//插入数据进数据库
void inertDataIntoDB()
{char temp[100];char sql[1000]="insert into DQmultiChannel(";char sql2[1000]="";char sql3[1000]="";//拼接字段for(int i=1; i<channelCount; i++){sprintf(temp,"S%02d,T%02d,S%02d,T%02d",2*i-1,2*i-1,2*i,2*i);strcat(sql2,temp);sprintf(temp,"%.2f,%.2f,%.2f,%.2f",WxpAqurieData[i].w1WinSpeed,WxpAqurieData[i].w1EnvTemp,WxpAqurieData[i].w2WinSpeed,WxpAqurieData[i].w2EnvTemp);strcat(sql3,temp);//最后一个加")"if(i==channelCount-1)strcat(sql2,")"),strcat(sql3,")");elsestrcat(sql2,","),strcat(sql3,",");}strcat(sql,sql2);strcat(sql," values (");strcat(sql,sql3);hstat = DBActivateSQL (hdbc,sql);
}

4  数据检索(字段绑定也采用了循环代码的方式)

//从数据库读取数据
void WxpGetDataFromDB()
{   char sql[100];char tt[100];//格式化组建SQL语言字符串 (条件查询)sprintf(sql,"select * from DQmultiChannel%","");//执行SQL语言hstat=DBActivateSQL(hdbc,sql);//绑定字段int count=0;for(int i=1;i<channelCount;i++){DBBindColFloat(hstat,4*i-2,&(WxpAqurieData[i].w1WinSpeed),&count);DBBindColFloat(hstat,4*i-1,&(WxpAqurieData[i].w1EnvTemp),&count);DBBindColFloat(hstat,4*i-0,&(WxpAqurieData[i].w2WinSpeed),&count);DBBindColFloat(hstat,4*i+1,&(WxpAqurieData[i].w2EnvTemp),&count);}DBBindColChar(hstat,82,100,tt,&count,"%s");sumRecord=DBNumberOfRecords(hstat);DBFetchRandom(hstat,curRecord); displayDataTableDB();sprintf(sql,"多通道历史数据  %s" ,tt);SetCtrlAttribute(panelHandleDb,PANELdb_WxpDataTableDB,ATTR_LABEL_TEXT,sql); sprintf(sql,"当前记录 %d / %d" ,curRecord,sumRecord);SetCtrlVal(panelHandleDb,PANELdb_DataBaseInfor,sql); //查询执行完毕DBDeactivateSQL(hstat);
}

5   彻底关闭数据库连接

DBDisconnect(hdbc);

LabWindows操作SQL SERVER相关推荐

  1. C# 学习笔记(19)操作SQL Server下

    C# 学习笔记(19)操作SQL Server下 ADO.net操作数据库 这应该是比较老的技术了,以后有空的话学学 Linq /// <summary> /// 数据库使用类 /// & ...

  2. C# 学习笔记(18)操作SQL Server 中

    C# 学习笔记(18)操作SQL Server 中 数据库基础操作 SQL语法可以参考 菜鸟教程 或者微软官方的SQL示例 注意SQL不区分大小写 查 1.基础查询 --最基础的查询语句, selec ...

  3. C# 学习笔记(17)操作SQL Server 上

    C# 学习笔记(17)操作SQL Server上 安装SQL Server 微软官网 https://www.microsoft.com/zh-cn/sql-server/sql-server-dow ...

  4. python3连接sql server数据库_Python3操作SQL Server数据库(实例讲解)

    1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...

  5. C#操作SQL Server数据库

    C#操作SQL Server数据库 1.概述 2.连接字符串的写法 3.SqlConnection对象 4.SqlCommand对象 5.SqlDataReader对象 6.DataSet对象 7.释 ...

  6. 操作 SQL Server Mobile 2005 数据库的常用 C# 代码 (转自黎波)

    整理几段操作 SQL Server Mobile 数据库的常用 C# 代码,供刚刚接触 SQL Server Mobile 开发的朋友参考. 1. 创建数据库 // 创建数据库 File.Delete ...

  7. python调用sql数据库_Python3操作SQL Server数据库(实例讲解)

    1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...

  8. 使用C语言来操作SQL SERVER数据库

    本文转自                         http://simpledev.iteye.com/blog/339537 1.使用C语言来操作SQL SERVER数据库,采用ODBC开放 ...

  9. Excel VBA通过ADO连接、操作SQL Server数据库的自定义函数

    网上大多数有关VBA连接.操作SQL Server数据库的教程,大多是把连接字串.SQL语句.执行过程全写在一个过程中了,当一个VBA项目需要做大量的查询.更新数据时,显然这种方法并不合适,以下代码是 ...

  10. C# 操作Sql Server 学习总结

    C#中产生SQL语句的几种方式 (1)拼接产生SQL语句: string sql = "insert into czyb(yhm,mm,qx) values('" + txtNam ...

最新文章

  1. SVN状态图标不显示的两种解决办法
  2. Java程序员必须了解的JVM性能调优知识,全都在这里了
  3. 一篇文章搞定Linux基础操作
  4. codeforces B. Strongly Connected City(dfs水过)
  5. PyCharm——如果不小心修改了第三方库文件,怎么办?
  6. shell中exec命令
  7. ubuntu下有没有类似于imagewatch的软件_大家有没有什么好的app推荐下,学习的类似timing小众点的?...
  8. 牛客寒假算法基础集训营2 A 处女座的签到题及一丢丢nth_elemen容器的简单用法...
  9. 小石坝第一次月赛:A
  10. 系统工具-文件夹同步软件
  11. Java eclipse汉字乱码解决
  12. mysql 56做什么_震惊!从MySQL56到57,到底发生了什么?
  13. 基于51单片机汽车智能灯光控制系统设计
  14. 解读《美国国家BIM标准》 – BIM能力成熟度模型(四)
  15. SQL server 删除注册表
  16. Office卸载不干净,注册表项权限修改后仍然无法删除的问题
  17. Unity3D for Android 纹理压缩支持
  18. 2016年个人工作总结、生活总结 和 2017年个人工作计划、生活计划
  19. 词向量经典模型:从word2vec、glove、ELMo到BERT
  20. CSS基础知识学习笔记

热门文章

  1. 关键点提取:单目3D检测的点睛之笔
  2. Asp.Net Core 系列教程 (一)
  3. kibana报错-Login is currently disabled.
  4. c语言中符号常量的作用 定义,c语言常量定义规则知识点总结
  5. 数据分析——如何构建数据指标体系
  6. 分销渠道都有哪些策略
  7. Word高效指南 - 中文文档首行自动缩进2个字符
  8. C语言_4 循环结构;一些例题
  9. 柳传志的回复:联想集团大裁员:公司不是家
  10. php 开源邮件系统,RoundCube Webmail