当前位置:首 页>> 应用案例 [阅读]

SQL语句变量拼接


关键词:紫金桥软件,紫金桥监控组态软件,关系数据库,SQL语句

许多用户在使用紫金桥软件构建控制系统的同时也会与关系型数据库进行数据交互,在使用关系库的过程中必然会用到大量的SQL脚本,而SQL脚本中的where语句常常需要由变量组成,那么如何在脚本中拼接变量成为了许多用户的难题,本文就讲解一下如何在SQL脚本中拼接变量。

首先我们在关系库中创建一个名为People的数据表,如下图:



(关系库为MS2005)

在关系库中创建完数据表之后打开紫金桥工程,在工程中与关系库建立数据链路。(注:如何创建关系库链路请点击参看紫金桥组态软件和关系库通讯的文档)

数据链路创建完成之后,在紫金桥画面创建‘查询按钮’,条件‘文本框’与‘自由报表’用以显示数据。

以‘姓名’为条件查询关系库中的内容,并且将内容放到报表中。双击按钮在自定义鼠标动作中写查询脚本。


首先定义nSql,Name两个字符串临时变量,然后将画面中作为条件的文本框内容赋值给Name变量,在把写好的SQL语句赋值给nSQL变量,最后由自由报表执行这段SQL代码。


图中用红颜色框标注的位置归为一段,两个双引号相互引用中间的内容,用黑色框标注的双引号相互引用中间的单引号,中间没被标注的内容为变量部分,写完脚本之后运行软件看一下效果。

首先我们把所有数据都查询出来,可以看到报表中显示了数据库中的所有数据。然后我们在姓名文本框中输入名字,表示只查询字段[Name]等于该条件的内容,如下图


当我们在文本框中数据‘李红’然后点击查询按钮,此时查询出来的就是名字为‘李红’的数据。

上面我们讲的是变量为字符型拼接变量,那么当变量为数据库点的PV值时该如何写呢,下面我们就讲一下。

首先在点组态创建A1点,然后在画面中用模拟输入将该与文本关联起来。然后打开脚本写下如图所示脚本。

可以看到脚本内容中条件为查询[Tel]字段等于’A1.PV’,那么这个A1.PV变量为什么要用IntToStr()函数呢,因为SQL语句是字符串型,上面讲的条件变量也是字符串型所以不需要转换,而’A1.PV’为实型变量所以需要IntToStr()函数将整数转换成字符串,否则会提示数据类型错误的提示。


写完之后运行看一下效果,开始运行时依旧把所有数据查询出来看一下。


然后我们修改A1.PV为141,然后点击查询按钮,这时查询出来的数据就是与条件相符的数据内容了


 

Delete,Update,Insert等语句在使用过程中需要拼接变量时方法和Select语句相同。

希望此篇文章能帮助大家在使用软件时取得一些帮助,如果对该文章哪里不清楚或者有其它问题也可以联系我们公司技术人员0459-8151391。

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

有任何关于组态软件的技术问题或需要更多的技术资料,可以在微信(微信号:Realinfo)留下联系方式或者到http://www.realinfo.cc/交流。