|
实时报警列表:
①查询指定时间范围内的实时报警
- //条件:时间
- ObSql sql;
- ObTable tab;
- sql.Connect("Local");
- sql.Query("SELECT DATETIME AS 时间,NAME AS 点名,LEVEL AS 级别,UNIT AS 单元,ALMGROUP AS 层级,DESC AS 说明 from alarmdata where DATETIME>="+ToString(t1.Time_t)+" and DATETIME<="+ToString(t2.Time_t)+" and REALALMCOUNT=100",tab);//时间范围
- Table1.Set(tab);
- sql.Close();
复制代码
②查询指定时间范围内指定单元的实时报警
- //条件:时间+单元
- ObSql sql;
- ObTable tab;
- sql.Connect("Local");
- sql.Query("SELECT DATETIME AS 时间,NAME AS 点名,LEVEL AS 级别,UNIT AS 单元,ALMGROUP AS 层级,DESC AS 说明 from alarmdata where DATETIME>="+ToString(t1.Time_t)+" and DATETIME<="+ToString(t2.Time_t)+" and UNIT=1 and REALALMCOUNT=100",tab);//时间范围+单元1的报警
- Table1.Set(tab);
- sql.Close();
复制代码
③查询指定时间范围内指定节点的实时报警
- //条件:时间+层级
- ObSql sql;
- ObTable tab;
- sql.Connect("Local");
- sql.Query("SELECT DATETIME AS 时间,NAME AS 点名,LEVEL AS 级别,UNIT AS 单元,ALMGROUP AS 层级,DESC AS 说明 from alarmdata where DATETIME>="+ToString(t1.Time_t)+" and DATETIME<="+ToString(t2.Time_t)+" and ALMGROUP='Area1.Line1' and REALALMCOUNT=100",tab);//时间范围+层级'Area1.Line1
- Table1.Set(tab);
- sql.Close();
复制代码
④查询指定节点指定单元的实时报警
- //条件:单元+层级
- ObSql sql;
- ObTable tab;
- sql.Connect("Local");
- sql.Query("SELECT DATETIME AS 时间,NAME AS 点名,LEVEL AS 级别,UNIT AS 单元,ALMGROUP AS 层级,DESC AS 说明 from alarmdata where Unit=1 and ALMGROUP='Area1.Line1' and REALALMCOUNT=100",tab);//单元1+层级Area1.Line1
- Table1.Set(tab);
- sql.Close();
复制代码
⑤查询低级报警
- //条件:级别
- ObSql sql;
- ObTable tab;
- sql.Connect("Local");
- sql.Query("SELECT DATETIME AS 时间,NAME AS 点名,LEVEL AS 级别,UNIT AS 单元,ALMGROUP AS 层级,DESC AS 说明 from alarmdata where LEVEL=0 and REALALMCOUNT=100",tab);//低级报警
- Table1.Set(tab);
- sql.Close();
复制代码
⑥查询指定节点下紧级报警
- //条件:级别+层级
- ObSql sql;
- ObTable tab;
- sql.Connect("Local");
- sql.Query("SELECT DATETIME AS 时间,NAME AS 点名,LEVEL AS 级别,UNIT AS 单元,ALMGROUP AS 层级,DESC AS 说明 from alarmdata where LEVEL=2 and ALMGROUP='Area1.Line1' and REALALMCOUNT=100",tab);//紧急报警+层级Area1.Line1
- Table1.Set(tab);
- sql.Close();
复制代码
⑦点名查询(精准或模糊查询)
- //条件:点名
- ObSql sql;
- ObTable tab;
- sql.Connect("Local");
- sql.Query("SELECT DATETIME AS 时间,NAME AS 点名,LEVEL AS 级别,UNIT AS 单元,ALMGROUP AS 层级,DESC AS 说明 from alarmdata where Name Like '%1_2%' and REALALMCOUNT=100",tab);//点名内含有1_2的测点报警
- Table1.Set(tab);
- sql.Close();
复制代码
⑧说明查询(模糊或精确)
- //条件:说明
- ObSql sql;
- ObTable tab;
- sql.Connect("Local");
- sql.Query("SELECT DATETIME AS 时间,NAME AS 点名,LEVEL AS 级别,UNIT AS 单元,ALMGROUP AS 层级,DESC AS 说明 from alarmdata where Desc Like '%电压%' and REALALMCOUNT=100",tab);//说明含有电压
- Table1.Set(tab);
- sql.Close();
复制代码
内置SQL查询注意事项:
1.查询实时报警,不可缺少REALALMCOUNT条件. 此为必要条件,不可缺少!!
- ObSql sql;
- ObTable tab;
- sql.Connect("Local");
- sql.Query("SELECT DATETIME AS 时间,NAME AS 点名,LEVEL AS 级别,UNIT AS 单元,ALMGROUP AS 层级,DESC AS 说明 from alarmdata where DATETIME>="+ToString(t1.Time_t)+" and DATETIME<="+ToString(t2.Time_t),tab);//<font color="#ff0000">缺少</font><span style="color: rgb(255, 0, 0);">REALALMCOUNT,会导致查询结果为空</span>
- Table1.Set(tab);
- sql.Close();
复制代码
2、查询语句必须包含SELECT、FROM、WHERE这三个关键字
3、查询必须要有条件表达式
4、如果有时间条件,必须有时间范围,即开始和结束时间。
5、查询条件,字符串区分大小写
|
-
|