JSP(10) - 修改商品信息模块
该模块类似于 修改客户信息模块(http://blog.itpub.net/post/334/31813)[@more@]upt_comm1.jsp:<%@ page contentType="text/html; charset=GBK" %><html><head><title>请输入要修改的商品的编号</title><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="this is my page"><!--<link rel="stylesheet" type="text/css" href="./styles.css"
JSP(9) - 增加商品模块
以下模块无要点技术信息,放在此处仅为系统的完整性考虑。该模块增加商品种类信息。[@more@]add_comm_bef.jsp:<%@ page contentType="text/html; charset=GBK" %><%@ page language="java" import="java.util.*" %><%@ page import="java.text.SimpleDateFormat" %><%@ page import="java.text.DateFormat" %><%response.setHeader("Cache-Control","no-store"); //HTTP 1.1 response.setHeader("Pragma","no-cache&qu
JSP(8) - 按卡号查询顾客信息
分两页。第一页提示用户输入顾客卡号,第二页根据卡号返回顾客详细信息。由于卡号位一确定某位顾客,故该顾客的交易信息也同时返回。要点:1) 根据返回纪录动态生成表格 out.println("<TR align=center>"); out.println("<td>"+sCustId+"</td>"); out.println("<td>"+sCustName+"</td>"); ...... 2) 若某字段结果为空,则应付值  ,以避免生成的表格缺边框 sCustEmail = rs.getString("cst_email"); if (sCustEmail==null) sCustE
JSP(7) - 销售模块
本模块处理销售事务,并允许根据商品编号和顾客卡号核实商品和顾客的详细信息。要点1) 核实商品信息时,采用和进货模块不同的方法。核实商品信息在不可见的页面sale_check_comm.jsp中完成,完毕后将结果返回到销售页面中核实前:<P><INPUT type=button value=商品编号检查 name=btn_comm_id onclick="javascript:checkComm()"><br>...... function checkComm() { document.frmData.action = './jsp/sale_check_comm.jsp'; document.frmData.submit(); }核实后返回结果: request.setAttr
JSP(6) - 进货模块
处理商品进货信息,并允许根据商品编号核实该商品详细信息及存货信息。要点:1) 点击button触发javascript 事件 function checkID() { document.frmComm.action = './jsp/purch_in_bef.jsp'; document.frmComm.submit(); }......<INPUT type=button value=商品编号检查 name=btn_query onclick="javascript:checkID()"><br>2) 在同一页面中,将页面输入结果传入数据库,并显示数据库返回的处理结果 商品名称: <INPUT type="text" size=20 maxLength=20 name=comm_name r
JSP(5) - 修改客户信息模块
分三页。先按顾客编号检索出顾客信息,修改顾客信息后存入数据库。 要点: 1) 从数据库检索出数据,用 ResultSet rs = null; ...... stmt = conn.createStatement(); rs = stmt.executeQuery(sQuery); while(rs.next()) { ...... } [@more@]upt_cust1.jsp:<%@ page contentType="text/html; charset=GBK" %><html><head><title>请输入要修改的顾客的卡号</title><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="descrip
JSP(4) - 增加客户模块
分成before和after两个界面。before界面用于让用户输入顾客信息,after界面用于后台处理。要点1)jsp中引入java类<%@ page language="java" import="java.util.*" %><%@ page import="java.text.SimpleDateFormat" %><%@ page import="java.text.DateFormat" %>2)得到系统当前时间,并自定义格式显示在网页中<% Date d = new Date();DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINESE); %>...... 最后修改日起:&l
JSP(3) - 界面框架
进入系统时默认到index.jsp页面中,包含menu和sub_main两个子页面。要点:1) 将2个网页在一个网页中显示,用frameset<head><title>店铺信息管理系统</title><frameset cols=20%,80%> <frame src="./menu.jsp" name="left"> <frame src="./sub_main.jsp" name="right"></frameset> </head>2)<%@ page contentType="text/html; charset=GBK" %>上面语句可以保证网页在各处中文显示正常。[@more@]源代码index.jsp:<%
JSP(2) - 数据库设计
数据库设计以及建表和其他数据库对象的sql脚本 [@more@]由于blog显示问题,仅上传建用户和建数据库对象的sql脚本,字段说明等从略脚本--create usercreate user store identified by store default tablespace userstemporary tablespace temp;grant connect,resource to store;--create table customercreate table Customer (Cst_ID Varchar2(6) not null,Cst_Name Varchar2(50) not null,Cst_Sex Varchar2(2) not null,Cst_Year Varchar2(4),Cst_Month varchar2(2),Cst_Address
JSP(1) - 需求
店铺管理系统的需求文档 [@more@]1. 功能本系统用于管理店铺日常经营,维护客户档案和商品进销存信息。可分为两个子系统:客户档案系统:有增加、删除、修改、查询、累计购买金额的功能。(比如,输入特定的时间段和累计金额,可查询出满足条件的客户及其具体的购买明细记录)1.1.1 增加有客户第一次购买本店商品时,将该客户的信息录入本系统。包括卡号(什么卡?如果客户买了东西没有办卡,怎么处理?)、姓名、通讯地址、邮政编码、办公室电话、家庭电话、手机、Email、折扣(每次购买都可能不同的折扣吗?还是某个客户规定其
JSP原来也不难
一个月的时间(中间包括一个五一假期),用JSP做个了店铺信息管理系统,之前没有任何JSP经验。原来JSP也不难,只要有高手指点,呵呵。[@more@]这个系统虽然简单,但是MIS的大多数功能已经都包含了。增加、删除、修改、查询、报表、关联等。以后再用JSP做类似MIS的系统,需要实现什么功能时,参考这个例子应该都问题不太大了。爽啊。各个功能模块后面陆续贴出。
一个数据仓库数据刷新的实现机制(八)
shell refresh_all通过6次调用脚本refresh_schema,刷新6各国家所有指定的数据库对象[@more@]该脚本比较简单,就是6次调用refresh_schema。在前面加上环境变量,以使能通过cron调用自动运行该脚本。为了能并行刷新,每条命令后面加了&符号。用法:$refresh_allshell refresh_all脚本如下:############################################################### Purpose: refresh all the necessary objects required by EDEN project## Usage: refresh_all# If there are more/less sch
一个数据仓库数据刷新的实现机制(七)
shell refresh_schema该shell通过调用上面的两个procedures和shell refresh_table,刷新某个国家的所有要刷新的数据库对象[@more@]该脚本自动读取表eden_refr_objt中的内容,刷新某个国家的数据库对象用法:Usage: refresh_schema SCHEMA SCHEMA_PASSWORD SCHEMA2 SCHEMA_PASSWORD2$refresh_schema edenfr password1 ewrfrmaster password2其中灰掉部分代码基本上重复上面的代码,只是处理schema2所属的数据库对象。这样的写法好像不是很好,也没想到更合理的方法,先这样吧。该shell脚本如下:#########################################
一个数据仓库数据刷新的实现机制(六)
表 eden_refr_objt该表存放所要刷新的数据库对象名称,类型,刷新方式等信息。[@more@]如果今后要刷新的数据库对象有变动,由用户增删改该表中的纪录实现。该表中的纪录由shell脚本 refresh_schema 自动读取表eden_refr_objt创建脚本:create table EDEN_REFR_OBJT( USER_NAM VARCHAR2(30) not null, OBJ_NAM VARCHAR2(50) not null, OBJ_TYPE VARCHAR2(10) not null, REFR_TYPE CHAR(1) not null, PROC_NAM VARCHAR2(50), OBJ_SEQ NUMBER)/alter table E
一个数据仓库数据刷新的实现机制(五)
shell refresh_table用于调用一个sql文件刷新一张表,并纪录刷新信息[@more@]用法:refresh_table SQL_FILE_NAME SCHEMA PASSWORD$refresh_table eden_flat_ord_cmpt_fr.sql edenfr ******该脚本中注意以下语句:TABLE_NAME=`echo ${1%_*}|cut -d"/" -f 4`其中${1%_*}是bash里面的模式匹配。shell refresh_table位于目录/erdb/bin下,而sql文件位于/erdb/sql目录下,sql文件名的命名规则为TABLENAME_COUNTRY.sql, 其中COUNTRY为缩写,FR代表法国,UK代表英国等。通过修改函数rfsh_env()中的参数,可以方便连到不同的数据库(比
一个数据仓库数据刷新的实现机制(四)
PROCEDURE REFRESH_TAB用于刷新由存储过程刷新的表数据,并纪录刷新信息[@more@]比较类似上一个过程refresh_mv,所不同的是在这里刷新数据所调用的存储过程作为传入参数 PROCEDURE REFRESH_TAB(P_USER_NAME IN VARCHAR2, P_TAB_NAME IN VARCHAR2, &n
一个数据仓库数据刷新的实现机制(三)
Procedure EDEN_REFRESH.REFRESH_MV用于刷新MV并纪录刷新信息[@more@]这是一个包(package)的一部分,附上包头:CREATE OR REPLACE PACKAGE EDEN_REFRESH IS PROCEDURE REFRESH_MV(P_USER_NAME IN VARCHAR2, P_MV_NAME IN VARCHAR2, P_LOG_DIR IN VARCHAR2); PROCEDURE REFRESH_TAB(P_USER_NAME IN VARCHAR2, &
一个数据仓库数据刷新的实现机制(二)
表eden_refr_log,记录数据刷新信息[@more@]SQL> desc eden_refr_logName Type Nullable Default Comments ------------- -------------- -------- ------- -------- USER_NAM VARCHAR2(30) OBJ_NAM&
一个数据仓库数据刷新的实现机制(一)
基本介绍 [@more@]一个数据仓库,需要刷新的数据库对象有表(Table)和物化视图(Materialized View)。其中一部分表通过运行位于/erdb/sql/的*.sql脚本文件刷新数据,一部分表通过存储过程刷新数据。物化视图(MV)没有在主表上建物化视图日志(Materiralized View Log),只能执行完全刷新,但是在刷新失败时要求能自动回滚到刷新前的状态。需要刷新的数据库对象分别属于12个schema,分别对应于6个国家。比如EDENFR和EWRFRMASTER对应法国,EDENUK和EWRUKMASTER对应英国等。需要纪录各表和MV刷新前后的数据量,刷新前后的时间点,刷新所用时间,刷
关于 TX 锁的两句sql
TX(Transaction) Lock是开发中涉及最多的锁类型。下面两句sql对于获取TX锁的相关信息相当有用。[@more@] SQL> update dept set dname='RTS' where deptno=40; 1 row updated SQL> update dept set dname='ccc' where deptno=40; SQL> select username, 2 v$lock.sid, 3 trunc(id1 / power(2, 16)) rbs, 4 bitand(id1, to_number('fff