JSP: 连接ORACLE数据库读取数据(含存储过程)

这个是JSP页面中IFRAME中的内容,单击主页面的SEARCH打开IFRAME

使用的数据库是ORACLE 10g,Tomcat 3.2



< table  class ="TBLSETTING"  bordercolor ="#9999FF"  border ="2"  cellpadding ="0"  cellspacing ="0" >
< tr >
< td  class ="LOCKMOJI"  width ="90"  align ="middle" > 日付 </ td >
< td  class ="LOCKMOJI"  width ="70"  align ="middle" > 取引内容 </ td >
< td  class ="LOCKMOJI"  width ="70"  align ="middle" > 取引金額 </ td >
< td  class ="LOCKMOJI"  width ="130"  align ="middle" > 残高 </ td >
</ tr >
<%
    
String account = String.valueOf(request.getParameter("ID"));
    
String month = String.valueOf(request.getParameter("month"));
    
    
if (request.getParameter("search"== null)
    {
    }
    
else
    {
        
String oracleDriver = "oracle.jdbc.driver.OracleDriver";
        
String url = "jdbc:oracle:thin:@172.16.100.10:1521:ATMDB";                    // address of database
        
String uid = "ATMUser";                                                // username
        
String pwd = "ATMUser";                                                // password
        Connection conn 
= null;
        ResultSet rst 
= null;
        
        try {
        Class.forName(oracleDriver).newInstance();    
// add drive

        conn 
= DriverManager.getConnection(url , uid, pwd);
        } catch(ClassNotFoundException ex) {
            out.print(
"Driver Load Error");
        } catch(SQLException ex) {
            out.print(
"Cannot Connect to DataBase");
        }
/*
        
// EXECUTE PROCEDURE
        
String strSql = "{call PKG_I_SEARCH_HISTORY.PRC_MAIN(?, ?, ?, ?, ?)}";
        CallableStatement stmt 
= conn.prepareCall(strSql);
        stmt.registerOutParameter(
1, Types.NUMERIC);
        stmt.registerOutParameter(
2, Types.VARCHAR);
        stmt.registerOutParameter(
3, oracle.jdbc.OracleTypes.CURSOR);
        stmt.setString(
4, account);
        stmt.setString(
5month);
        stmt.execute();
        rst 
= (ResultSet)stmt.getObject(3);
*/        
        
        
// SQLで実行する
        
String strSQL = "";
        strSQL 
+= " SELECT ";
        strSQL 
+= "     TO_CHAR(ENDTIME,'YYYY/MM/DD HH24:MI:SS') ENDTIME ";
        strSQL 
+= "     ,(CASE ACTION_TYPE ";
        strSQL 
+= "          WHEN '1'    THEN '引出' ";
        strSQL 
+= "          WHEN '2'    THEN '入金' ";
        strSQL 
+= "          WHEN '3'    THEN '振込' ";
        strSQL 
+= "          ELSE             '' ";
        strSQL 
+= "       END) ACTION_TYPE ";
        strSQL 
+= "     ,AMOUNT ";
        strSQL 
+= "     ,BALANCE_NOW ";
        strSQL 
+= " FROM ";
        strSQL 
+= "     ATM_HISTORY ";
        strSQL 
+= " WHERE ";
        strSQL 
+= "     ACCOUNT_ID = '" + account + "";
        strSQL 
+= "     AND ENDTIME >= TO_DATE('" + month + "' || '01000000', 'YYYYMMDDHH24MISS') ";
        strSQL 
+= "     AND ENDTIME < ADD_MONTHS(TO_DATE('" + month + "' || '01000000', 'YYYYMMDDHH24MISS'), 1) ";
        strSQL 
+= " ORDER BY ENDTIME ";

        Statement stmt
=conn.createStatement();
        rst
=stmt.executeQuery(strSQL);

        
while(rst.next())
        {
            out.println(
"<tr>");
            out.println(
"<td align='center' width='90'>" + rst.getString("ENDTIME").substring(0,10+ "<br>" + rst.getString("ENDTIME").substring(10,19+ "</td>");
            out.println(
"<td align='center' width='70'>" + rst.getString("ACTION_TYPE"+ "</td>");
            out.println(
"<td align='right' width='70'>" + rst.getString("AMOUNT"+ "</td>");
            out.println(
"<td align='right' width='130'>" + rst.getString("BALANCE_NOW"+ "</td>");
            out.println(
"</tr>");
        }    

        rst.close();
        stmt.close();
        conn.close();
    }
%>

</ table >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值