intouch把查询到的历史报警记录写到excel

1.创建一个数据源SQL_Date,数据源的配置如下 2.创建一个绑定表。只要用到sqlconnect去连接数据库,就必须先建立绑定表。3.写一个quickfu

1.创建一个数据源SQL_Date,数据源的配置如下

2.创建一个绑定表。只要用到sqlconnect去连接数据库,就必须先建立绑定表。







3.写一个quickfunction,名字叫SQLTOEXCEL,内容如下


DIM Counter AS INTEGER;
DIM Cell AS MESSAGE;
DIM Result AS INTEGER;
DIM TotalCount AS INTEGER;
DIM WhereExpr AS MESSAGE;

{连接数据库}
Result=SQLConnect(GMS_SQL_ConnectionId,  "DSN=SQL_Date;UID=sa;PWD=123456"  ); 
 LogMessage("SQLConnect 返回值:" + StringFromIntg (Result,10));

{查询条件}
WhereExpr= "Area like '%" + FMCS_ALARM_GROUP + "%'"   + " And EventStamp >= '" +FMCS_DATETIME0+ "'"  + " And EventStamp <= '" +FMCS_DATETIME1+ "'"   ;
 LogMessage("SQLSelect 的条件是:" + WhereExpr);

{查询}
Result = SQLSelect( GMS_SQL_ConnectionId, "v_AlarmHistory", "abtag", WhereExpr, "" );
TotalCount=SQLNumRows(GMS_SQL_ConnectionId);
 LogMessage("共计有记录数 :" + StringFromIntg (TotalCount,10));

  IF(  TotalCount  == 0 ) THEN
                    RETURN  -1 ;
ENDIF;

{用wwpoke函数写到表格里面}
Cell = "r1c1";