在脚本中怎么使用SQL语言?

用户归档里面有个列是记录时间的,需要查询某一时间段内的归档数据

问题补充:
起始时间和结束时间都是用字符串变量表示的,希望实现动态查询。是用C脚本写的。

最佳答案

列是Data/Time格式吗?如果是通过用户归档控件来实现,可以用脚本控制其属性Filter:
   Dim uaTable
   Set uaTable = ScreenItems("uaTable")
   uaTable.Filter = "DT > '2008-10-10 00:00:00.000' AND DT < '2008-10-12 00:00:00.000'"
  ---------------------
  动态查询比较麻烦,需要使用uaXXX函数,多年以前做过,现在都忘光了。

  如果真要使用脚本的话,倒还不如不使用用户归档,利用VBS和ADO完全可以实现你的要求,而且不要银子,呵呵。
 -------------------------
 关于如何使用C脚本访问用户归档,可以见:
 WinCC Information System->选项->用户归档->用户归档脚本
 大体的步骤:
 UAHCONNECT hConnect=0;
 UAHARCHIVE hArchive=0;
 char szSQL[255];
 long Index;
 uaConnect(&hConnect);
 uaQueryArchiveByName(hConnect,"dcount",&hArchive);
 printf("\r\n%d",hArchive);
 sprintf(szSQL,"DT >  '2005-05-10 00:00:00.000'");
 uaArchiveOpen(hArchive);
 uaArchiveSetFilter(hArchive,szSQL);
 uaArchiveRequery(hArchive);
 uaArchiveGetCount(hArchive,&Index);
 printf("\r\n%d",Index);
 //-------------------
 //详细操作
 //-------------------
 uaArchiveClose(hArchive);
 uaReleaseArchive(hArchive);
 uaDisconnect(hConnect);

提问者对于答案的评价:
谢谢
 

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc275582.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午11:42
下一篇 2019年6月11日 上午11:42

相关推荐