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 >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
连接Oracle数据库,您需要使用JDBC驱动程序和Oracle数据库连接字符串。以下是连接Oracle数据库的基本步骤: 1.下载并安装Oracle JDBC驱动程序。您可以从Oracle官方网站上下载最新版本的驱动程序。 2.在您的Web应用程序中,将Oracle JDBC驱动程序的JAR文件添加到您的类路径中。您可以将JAR文件放在您的Web应用程序的WEB-INF/lib目录中。 3.在您的JSP页面中,使用JDBC API来连接Oracle数据库。以下是一个简单的示例: <%@ page import="java.sql.*" %> <% String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "your_username"; String password = "your_password"; // Load the JDBC driver Class.forName(driver); // Connect to the database Connection conn = DriverManager.getConnection(url, user, password); %> 在上面的示例中,您需要将以下内容替换为您的实际数据库连接信息: - driver:Oracle JDBC驱动程序的类名称。 - url:Oracle数据库连接字符串。其中,localhost是您的数据库服务器的主机名,1521是您的数据库服务器的端口号,ORCL是您的数据库名称。 - user:您的数据库用户名。 - password:您的数据库密码。 4.使用JDBC API来执行SQL查询和更新。以下是一个简单的示例: <% Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM your_table"); while (rs.next()) { String column1 = rs.getString("column1"); String column2 = rs.getString("column2"); // ... } %> 在上面的示例中,您需要将your_table替换为您要查询的实际表名,以及将column1、column2等替换为您要查询的实际列名。 5.关闭JDBC连接。在您的JSP页面中,确保在完成数据库操作后关闭JDBC连接,以释放数据库资源。以下是一个简单的示例: <% rs.close(); stmt.close(); conn.close(); %> 在上面的示例中,您需要按照正确的顺序关闭ResultSet、Statement和Connection对象,以确保不会出现资源泄漏或其他问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值