工控编程吧

标题: 在WinCC的VBS环境下编写代码对SQL数据库进行单表多条件查询? [打印本页]

作者: baikhgmv    时间: 2016-9-12 17:18
标题: 在WinCC的VBS环境下编写代码对SQL数据库进行单表多条件查询?
在WinCC的VBS环境下编写代码对SQL数据库进行单表多条件查询?

WinCC页面上 有三个文本框输入区域,输入/输出域1填写--工件编号,输入/输出域2填写--姓名1,输入/输出域3填写--姓名3  (以上3个变量  数据类型  均为 文本变量8位字符集)

用以上三个条件的任意组合从SQL数据库中筛选数据,当上边的三个输入域全部为空时,点击查询按钮显示全部数据,当其中一个或2个条件为空时,为空的条件不参与查询,这样的SQL语句改怎样写?

我写了几句,编译时说语法错误...................?


Sql = "Select * FROM GJ_Infor WHERE 1=1


If   !String.Is Null Or Empty(GJ_Num.Value)  Then    REM:工件编号条件
Sql += " and GJ_Num = " + GJ_Num.Value


If  !String.Is Null Or Empty(SX_CZ.Value)  Then     REM:姓名1条件

Sql += " and CZY = " + SX_CZ.Value


If  !String.Is Null Or Empty(SX_JY.Value)  Then     REM:姓名2条件

Sql += " and JYY = " + SX_JY.Value

已经搞了2天了,请大家分析分析原因



-------sql=sql+。。。。。。。。


你的是c+的语法


-------谢谢!执行语句我已经发现问题改过来了Sql =Sql+ " and GJ_Num = " + "&GJ_Num.Value&"

但是前边的 If 条件语句 还是有问题,在VBS下边应该怎么写呢?

麻烦您指点一下?


----If   !String.Is Null Or Empty(GJ_Num.Value)  Then    REM:工件编号条件

Sql =Sql + " and GJ_Num = " + GJ_Num.Value

end if

If  !String.Is Null Or Empty(SX_CZ.Value)  Then     REM:姓名1条件

Sql =Sql + " and CZY = " + SX_CZ.Value

end if

If  !String.Is Null Or Empty(SX_JY.Value)  Then     REM:姓名2条件

Sql =Sql + " and JYY = " + SX_JY.Value

end if


---------If   !String.Is Null Or Empty(GJ_Num.Value)  Then   这句编译时 提示 语法错误?


我这个条件的意思是想写 如果输入域中GJ_Num没有输入任何东西,为空或空格  它就不参与数据查询?


编译的时候,编译不过去!




-------dim mytag

mytag=hmiruntime.tags("GJ_Num").read

if mytag<>"" then

GJ_Num变量值不为空时需要执行的脚本

end if


-----------------也可以用Len()函数来判别。

If Len(hmiruntime.tags("GJ_Num").read) > 0 Then








欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4