在这篇blog中(http://blog.csdn.net/fengjiexyb/article/details/77414400),我把爬取的数据存放在数据库。本文我把数据库中的数据读出来显示在v8系统中。
v8系统是我们公司开发的一个平台。在这个系统中进行二次开发非常方便。本文以一个实际的例子来展示v8系统的使用。
v8系统的文章只是内部记录,对其他公司没有意义
1、首先建立一个节点,用于在界面左侧显示

如图所示:

1.1 进入系统对应的数据库。v8系统基本没有手写的页面。页面都是数据库来生成。所以程序员基本只要会sql语句即可。

查找当前的树节点

select * from hiibase.ib_tbt_treestru order by ftreeno;

插入新的节点,第一个是第二个的父亲。第一个没有父亲,所以他的父节点可以随便写(目前写0)。ftreenm,fdesc是表名,区别还不知道。图标随便选的。furl是直接主的链接,当前为空,后面详述。其他参数不知道

 insert into hiibase.ib_tbt_treestru (ftreeno,ftreenm,fdesc,fparent,icon,openicon,flevel)values('026','环境监控','环境监控','0','icons/fileIcon_1.png','icons/fileIcon_1.png','ALL')insert into hiibase.ib_tbt_treestru (ftreeno,ftreenm,fdesc,furl,fparent,icon,openicon,flevel)values('026001','环境监控数据查询','环境监控数据查询','','026','icons/fileIcon_1.png','icons/fileIcon_1.png','ALL')

1.2 这是两种主界面的链接方式,就是上面说的furl,还有其他的方式。区别在于使用了不同的java类。但是我在本文中没有使用任何类。理论上应该没有任何区别。但在实际中使用第二种成功了,第一种无法发开页面。

 UPDATE  hiibase.ib_tbt_treestru SET furl = 'http://200.100.100.7:8888/gdjkjc/V8Page.m?type=desktop'||'&'||'pid=20170817xyb1'||'&'||'sessionId=FIXEDS11'||'&'||'hideTree=Y' WHERE ftreeno = '21601';UPDATE  hiibase.ib_tbt_treestru SET furl = 'genPager.m?isHTML=Y'||'&'||'queryType=ajax'||'&'||'pid_para=20170817xyb1'||'&'||'direct=1'||'&'||'sessionId=SESSIONID'||'&'||'empid_sql_equal=EMPID' WHERE ftreeno = '21601';

注意在sql语句中‘&’符号是不能直接使用的,要在|||中间才可以。
pid=后面的值是页面的id,后面详述。
1.3 设置权限

 select * from hiibase.ib_tbt_empdfltnode;

在这张表中显示哪些用户可以使用哪些页面。
插入权限

 insert into hiibase.ib_tbt_empdfltnode (fempid,ftreeno,fifdflt)values('S11','21601','0');insert into hiibase.ib_tbt_empdfltnode (fempid,ftreeno,fifdflt)values('S11','216','0');

注意S是大写,S11是用户名,其他参数不知道。oracle中的字符串是区分大小写的。
2、添加页面
新建一个sql文件

declarepx number(8);py number(8);seq number(6);pnm varchar2(2000);objprop clob;JS_HTML clob;
beginseq := 1;px := 0;py := 0;pnm := '20170817xyb1';--页面id,即上面的pid。这个id不标准,在v8文档中有命名规范。--http://200.100.100.4:8080/publicApp/devStart.m?sessionId=FIXEDgdzyxxdelete from hb_tbs_pageEleForSl where fpageId = pnm;--之上的语句不用修改,除了页面id。seq := seq+10;insert into hbpageeleforsl (FPAGEID, FELEID, FELENME, FELENMC, FELECATBYSL, FPOSX, FPOSY, FWIDTH, FHEIGHT, FPROPERTY,FQRYURI, FVALFROM, FSAMESELECT, FIFNEEDLABEL, FSELECTVALCAT,FENABLEELES, FINVISIBLEELES, FOBJPROP)values (pnm, seq, 'title', '广东省24小时环境监测数据', 'Label', '-1', '-1', '-1', '-1', 'FontSize=28;对齐方式=居中;BACKGROUND=#fff;','', '', '', 'N', 'N','', '', '布局模式:[1];');--这一部分添加了一个布局容器seq := seq+10;insert into hbpageeleforsl (FPAGEID, FELEID, FELENME, FELENMC, FELECATBYSL, FPOSX, FPOSY, FWIDTH, FHEIGHT, FPROPERTY,FQRYURI, FVALFROM, FSAMESELECT, FIFNEEDLABEL, FSELECTVALCAT,FENABLEELES, FINVISIBLEELES, FOBJPROP)values (pnm, seq, 'container1', '查询条件', '布局容器', '-1', -1, -1, -1, 'Tag=相对布局;FontSize=15;字体=NSimsun;BACKGROUND=#fff;borderThick=1,0,0,1;','', '', '', 'Y', 'N','', '', '布局模式:[1];');seq := seq+10;insert into hbpageeleforsl (FPAGEID, FELEID, FELENME, FELENMC, FELECATBYSL, FPOSX, FPOSY, FWIDTH, FHEIGHT, FPROPERTY,FQRYURI, FVALFROM, FSAMESELECT, FIFNEEDLABEL, FSELECTVALCAT,FENABLEELES, FINVISIBLEELES, FOBJPROP)values (pnm, seq, 'schhiino_sql_equal', '监测点', 'combobox', '300', py, -1, -1, '','*Q20170817xyb2', '', '', 'Y', 'N', '', 'FSITEID;', '布局模式:[4.1];空数据:[0,请选择;];容器:[container1];');--页面id,即上面的pid。这个id不标准,在v8文档中有命名规范。--页面id,即上面的pid。这个id不标准,在v8文档中有命名规范。--页面id,即上面的pid。这个id不标准,在v8文档中有命名规范。--下拉菜单,下拉菜单的数据是通过Q20170817xyb2.sql查询获取的。这个查询后面详述。查询id前面要加*。由于这个下拉菜单的数据在Q20170817xyb1中要使用,所以名字后面要加_sql_equal,这样就可以直接传递参数了。--查询出来的信息包括FSITEID,FSITENAME,但是只显示FSITENAME,所以将FSITEID隐藏。而在传值时传递的是FSITEID,这个是默认的,但是在哪里设还不知道。seq := seq+10;insert into hbpageeleforsl (FPAGEID, FELEID, FELENME, FELENMC, FELECATBYSL, FPOSX, FPOSY, FWIDTH, FHEIGHT, FPROPERTY,FQRYURI, FVALFROM, FSAMESELECT, FIFNEEDLABEL, FSELECTVALCAT,FENABLEELES, FINVISIBLEELES, FOBJPROP)values (pnm,seq,'fbegdt_sql_equal','日期','date','-1','-1','-1','-1', 'FontSize=13;TEXT=当日-7;','', '', '', 'Y', 'N','', '', '布局模式:[4.2];容器:[container1];');--注意text      seq := seq+10;insert into hbpageeleforsl (FPAGEID, FELEID, FELENME, FELENMC, FELECATBYSL, FPOSX, FPOSY, FWIDTH, FHEIGHT, FPROPERTY,FQRYURI, FVALFROM, FSAMESELECT, FIFNEEDLABEL, FSELECTVALCAT,FENABLEELES, FINVISIBLEELES, FOBJPROP)values (pnm,seq,'fbenddt_sql_equal','日期','date','-1','-1','-1','-1', 'FontSize=13;TEXT=当日;','', '', '', 'Y', 'N','', '', '布局模式:[4.3];容器:[container1];');seq := seq+10;insert into hbpageeleforsl (FPAGEID, FELEID, FELENME, FELENMC, FELECATBYSL, FPOSX, FPOSY, FWIDTH, FHEIGHT, FPROPERTY,FQRYURI, FVALFROM, FSAMESELECT, FIFNEEDLABEL, FSELECTVALCAT,FENABLEELES, FINVISIBLEELES, FOBJPROP)values (pnm, seq, 'fsdfe', 'fgdsgew', '布局容器', -1, -1, -1, 40, 'Tag=绝对布局;borderThick=0,0,0,0;对齐方式=右对齐;','', '', '', 'N', 'N','', '', '布局模式:[1];');--第二个容器,不同容器在界面上是可以看到的seq := seq+10;insert into hbpageeleforsl (FPAGEID, FELEID, FELENME, FELENMC, FELECATBYSL,FPOSX, FPOSY, FWIDTH, FHEIGHT, FPROPERTY, FQRYURI, FVALFROM, FSAMESELECT,FIFNEEDLABEL, FSELECTVALCAT, FENABLEELES, FINVISIBLEELES, FOBJPROP) values(pnm, seq, 'btncx', '查询', 'button', '-1', '-1', -1, -1,'Tag=刷新:[tbl1];classname=查询;字体=NSimsun;Background=FFEEFBEE;borderThick=1,1,1,1;', '', '','', 'Y', 'N','', '','布局模式:[0];容器:[fsdfe];');--按钮。在页面加载时,表格(下面)就会开始查询,所以这里的查询按钮并不是查询,而是刷新。 tbl1是表格名。seq := seq+10;insert into hbpageeleforsl (FPAGEID, FELEID, FELENME, FELENMC, FELECATBYSL,FPOSX, FPOSY, FWIDTH, FHEIGHT, FPROPERTY, FQRYURI, FVALFROM, FSAMESELECT,FIFNEEDLABEL, FSELECTVALCAT, FENABLEELES, FINVISIBLEELES, FOBJPROP) values(pnm, seq, 'btndc', '导出', 'button', '-1', '-1', -1, -1,'Tag=导出:[tbl1];classname=导出;字体=NSimsun;Background=FFEEFBEE;borderThick=1,1,1,1;', '', '','', 'Y', 'N','', '','布局模式:[0];容器:[fsdfe];');--导出功能都不需要自己开发seq := seq+10;insert into hbpageeleforsl (FPAGEID, FELEID, FELENME, FELENMC, FELECATBYSL, FPOSX, FPOSY, FWIDTH, FHEIGHT, FPROPERTY,FQRYURI, FVALFROM, FSAMESELECT, FIFNEEDLABEL, FSELECTVALCAT,FENABLEELES, FINVISIBLEELES, FOBJPROP)values (pnm, seq, 'tbl1', '表格', '任意表格', '-1', '-1', '-1', '-1', '','*Q20170817xyb1', '','', 'Y', 'N','', '', '布局模式:[1];分页显示:[每页行数=10,分页模式=客户端];表头:[监测点,监测时间,天气现象,气温(℃),体感温度(℃),气压(hPa),相对湿度(%),降雨量(mm),风向,风力,风速(m/s)];');--表格内容通过Q20170817xyb1查询获取。在这里可以设置表头。如果不设置,使用sql语句的字段名。但是字段名不能加括号和其他字符。在这里的括号只能使用中文括号。如果使用英文括号表示二级表头
end;
/commit;

3、添加查询
3.1 Q20170817xyb1
这个查询是获取表格数据。

declareid varchar2(60);name varchar2(50);direct varchar2(2);cndxml varchar2(4000);cndxsl clob;theSQL varchar2(4000);dispsql varchar2(4000);param varchar2(400);cfgxml varchar2(4000);resulttype varchar2(8);header varchar2(4000);footer varchar2(4000);bxml varchar2(8000);bxsl varchar2(8000);bsql clob;bsql_pv varchar2(5000);bsql_pt varchar2(5000);
beginid := 'Q20170817xyb1';   --查询id,和页面中的表格对应
name := '环境云爬取数据查询';   --查询名字,没用的
direct := '1';
cndxml := '<?xml version="1.0" encoding="GB2312"?><EprSelect></EprSelect>';
cndxsl := '';
theSQL := '';
param := '';
resulttype := 'ntable';
header := '8;$page';
footer := '1;经手人:;5;日期:';delete from query_vws_cnd where fid=id;
insert into query_vws_cnd(fid,fname,fdirect,fcndxml,fcndxsl,fsql,fdispsql,fparam,fcfgxml,fresulttype,fheader,ffooter)
values (id,name,direct,cndxml,cndxsl,NULL,dispsql,param,cfgxml,resulttype,header,footer);
---之上除了查询id和查询名字之外不需修改
bsql := '
select imp_weather_sites.fsitename,imp_weather_data.updatetime,imp_weather_data.phenomena,imp_weather_data.temperature,imp_weather_data.feelst,imp_weather_data.airpressure,imp_weather_data.humidity,imp_weather_data.rain,imp_weather_data.winddirect,imp_weather_data.windpower,imp_weather_data.windspeedfrom imp_weather_sites,imp_weather_datawhere (imp_weather_data.siteid = imp_weather_sites.fsiteid)and (imp_weather_sites.fsiteid = ?)and imp_weather_data.updatetime >= to_date(?,''yyyy-mm-dd'')and imp_weather_data.updatetime < to_date(?,''yyyy-mm-dd'')
;
';
--查询语句。在这个语句中所有参数都是?(半角)。不需要引号,在下面设置了类型,引号由系统添加。
bsql_pv := 'schhiino_sql_equal,fbegdt_sql_equal,fbenddt_sql_equal,;';
--参数,这里的参数都是_sql_equal后缀。这种后缀可以直接使用页面的参数。注意格式,在‘’中的部分表示一个sql语句的参数,所以引号中有一个分号,如果有多个sql语句,就有多个分号,一一对应。
bsql_pt := 'V,V,V,;';
--这里表示参数格式,V是字符串,D是日期,N是数字。由于在to_date中的第一个参数只能是字符串,所以在这里设置时间的格式也是字符串。
--这里的格式千万不要改,我把三个V放在了三行里,一直出错,找了一天的错误才发现。--以下部分不需修改
delete query_tbs_dispfmt where fid = id and fband='DETAILS';
insert into query_tbs_dispfmt(fid,fband,fsql,fParaValOfSql,fParaTypeOfSql,fxml,fxsl,fdispfmt)
values (id,'DETAILS',bSQL,bsql_pv,bsql_pt,NULL,NULL,'RS');end;/
commit;

3.2 Q20170817xyb2

declareid varchar2(60);name varchar2(50);direct varchar2(2);cndxml varchar2(4000);cndxsl clob;theSQL varchar2(4000);dispsql varchar2(4000);param varchar2(400);cfgxml varchar2(4000);resulttype varchar2(8);header varchar2(4000);footer varchar2(4000);bxml varchar2(8000);bxsl varchar2(8000);bsql clob;bsql_pv varchar2(5000);bsql_pt varchar2(5000);
beginid := 'Q20170817xyb2';
name := '环境云获取监测点信息';
direct := '1';
cndxml := '<?xml version="1.0" encoding="GB2312"?><EprSelect></EprSelect>';
cndxsl := '';
theSQL := '';
param := '';
resulttype := 'ntable';
header := '8;$page';
footer := '1;经手人:;5;日期:';delete from query_vws_cnd where fid=id;
insert into query_vws_cnd(fid,fname,fdirect,fcndxml,fcndxsl,fsql,fdispsql,fparam,fcfgxml,fresulttype,fheader,ffooter)
values (id,name,direct,cndxml,cndxsl,NULL,dispsql,param,cfgxml,resulttype,header,footer);bsql := 'select FSITEID,FSITENAME from imp_weather_sites  where fdatasource = 2
';
bsql_pv := ',;';
bsql_pt := ',;';
--没有参数delete query_tbs_dispfmt where fid = id and fband='DETAILS';
insert into query_tbs_dispfmt(fid,fband,fsql,fParaValOfSql,fParaTypeOfSql,fxml,fxsl,fdispfmt)
values (id,'DETAILS',bSQL,bsql_pv,bsql_pt,NULL,NULL,'RS');end;/
commit;

4、将2、3步的保存为3个sql文件。
在PL/SQL中建立一个命令窗口,输入@,后面接sql文件的路径和名字,回车执行。
三个都执行后可以在页面查看了

在v8系统上显示数据库的数据相关推荐

  1. 使用JSP代码编写index.jsp文件在网页上显示数据库数据

    使用JSP代码编写index.jsp文件在网页上显示数据库数据 在index.jsp文件上使用JSP代码编写 可以在网页上以表格的形式显示数据库 内的数据 需要创建一个项目 因为需要用到关于JDBC的 ...

  2. 45-网上商城数据库-商品分类数据操作(二)

    45-网上商城数据库-商品分类数据操作(二) 项目描述 在电子商务兴起的大环境下,建立利用互联网开拓销售渠道,帮助企业及时调整商品结构,协助经销商打开货源的信息门户成为解决信息流通不畅的有效方案,电子 ...

  3. 44-网上商城数据库-商品分类数据操作(一)

    44-网上商城数据库-商品分类数据操作(一) 项目描述 在电子商务兴起的大环境下,建立利用互联网开拓销售渠道,帮助企业及时调整商品结构,协助经销商打开货源的信息门户成为解决信息流通不畅的有效方案,电子 ...

  4. navicat连接linux远程数据库,使用Navicat forMySql远程连接Linux 系统上的数据库

    使用Navicat for MySql远程连接Linux 系统上的数据库 解决mysql"Access denied for user'root'@'IP地址'"问题1.问题说明: ...

  5. linux 显示目录文件数,如何在Linux系统上显示当前及子目录中的文件数量

    在本指南中,我们将介绍如何在 Linux 系统上显示当前工作目录或任何目录及其子目录中的文件数量. 我们将使用 find 命令,它用于搜索目录层次结构中的文件,以及 wc 命令,它会打印每个文件或来自 ...

  6. AChartEngine高级应用之CombinedXYChart(组合统计图)在单个统计图上显示多样化的数据

    AChartEngine高级应用之CombinedXYChart(组合统计图)在单个统计图上显示多样化的数据 现在是信息飞速发展时代,单个的统计图已经无法满足实际生产的要求,人们只想通过快速的观察就能 ...

  7. ADOLISP在64位系统上读取数据库的解决办法

    第一步:确认64位系统上安装了64位的access驱动.安装office2010的64位版本或者去微软平台下载Access 2010的64位驱动(AccessDatabaseEngine_X64.ex ...

  8. inno setup 中文乱码问题_解决Inno Setup制作中文安装包在非中文系统上显示乱码的问题...

    尼玛,好几个月没更新了.囧... 目前我司新的客户端开发已经接近尾声,该改的bug已经改完,该重构的地方也都差不多了.视觉效果也已经根据美工的样式改完了.所以,就差制作安装包了.正所谓万事俱备,只欠东 ...

  9. 在OLED上显示各种各样的数据(文字、字母、图片)

    今天来说一说OLED,也同时记录一下成果. 在学习OLED之前需要知道IIC协议,不了解的可以看(IIC协议相关_dxdlnu的博客-CSDN博客) 什么是OLED? OLED_百度百科 (baidu ...

最新文章

  1. web项目发布时出现Deployment failure on Tomcat 7.x.
  2. 设计模式--原型模式
  3. 【机器学习】快速入门简单线性回归 (SLR)
  4. LDAP-GUI管理工具
  5. X-Scan描述及简单教程
  6. cigarettes(香烟)
  7. 微信小程序 禁止弹框下面的内容滑动 弹窗禁止底部内容滚动
  8. oracle将千万行查询优化到一秒内,oracle下一条SQL语句的优化过程(比较详细)
  9. WebSocket科普
  10. 把Excel中的数据转换成Sql语句
  11. python自动生成坐标脚本_用一个简单的python脚本从经纬度坐标获得高程
  12. nginx配置二级目录,反向代理不同ip+端口
  13. linux 定时任务 crond 服务介绍
  14. 【渝粤教育】国家开放大学2018年春季 0248-22T电工电子技术 参考试题
  15. python入口文件_python常用模块:项目目录规范、定制程序入口、自定义模块、引用变量、time和datetime模块...
  16. 贪心科技机器学习训练营(十一)
  17. 深度学习-梯度爆炸原因分析、调试记录与解决方案(loss突然变为nan)
  18. Rapid Tampere加速联合产业创新
  19. 【Unity】基于顶点色的海边波浪效果(适用移动端)
  20. 自媒体怎么做视频搬运

热门文章

  1. 向自由职业者强烈推荐的12本免费电子书
  2. ESP32CAM与安卓端进行配合控制灯光简述(含有4G网查看方法)
  3. abb机器人指令手册_ABB机器人控制器死机故障维修
  4. 【数学建模】2022小美赛C题 人类活动分类(Classify Human Activities)
  5. 如何将无限循环小数转换为分数
  6. WindowsLinux获取摄像头名称和默认麦克风设备名称
  7. ios和android组件对比,iOS 和 Android 设计规范对比
  8. 关于苹果iOS13的所有设计规范
  9. C++之类模板的概念和意义
  10. 树莓派 PHP白屏,树莓派3.5英寸屏幕安装显示驱动,解决白屏问题