在前台页面,需要一些值来显示,这些值在数据库写了存储方法,下面是我的代码,有些问题,想求教各位!
  <%@ page language="java" contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.util.*,java.text.*,java.sql.*" %>
<jsp:useBean id="sqlCon" class="resources.bea.bean.DBBean" scope="page"/>
<%
        String i_tjny = "200501";
        int o_hjsb  = 0;
int o_beijingsb = 0;
int o_tianjinsb = 0;
int o_hebeisb = 0;
int o_shanxisb = 0;
int o_neimengsb = 0;
int o_liaoningsb= 0;
int o_daliansb = 0;
int o_jilinsb = 0;
int o_helongjiangsb = 0;
int o_gansuqf = 0;
int o_qinghaiqf = 0;
int o_ningxiaqf = 0;
int o_xinjiangqf = 0;
String strSQL = "";
        java.sql.ResultSet sqlRst;          //结果集对象
        //准备SQL语句
         strSQL = "{call PRO_FGD(i_tjny, o_hjsb, o_beijingsb, o_tianjinsb, o_hebeisb, o_shanxisb, o_neimengsb, o_liaoningsb, o_daliansb,o_jilinsb,o_helongjiangsb, "; 
         strSQL =strSQL+ " o_gansuqf,o_qinghaiqf,o_ningxiaqf,o_xinjiangqf)}";
%>
<html lang="zh"> <head>
<meta name="generator" content="Adobe GoLive">
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP数据库操作例程 - 存储过程</title>
<style type="text/css" media="screen">
<!--
table td { line-height: 20px }
.titles { line-height: 24px ;  font-weight:bold;color:#FFFFFF; text-align:center;}
-->
</style>
</head>
<%
    //准备可调用语句对象
   sqlRst = sqlCon.executeQuery(strSQL);   //设置输入参数
   sqlRst.setString(2,o_hjsb);   //登记输出参数
   sqlRst.registerOutParameter(1,java.sql.Types.VARCHAR);
   sqlRst.registerOutParameter(3,java.sql.Types.INTEGER);   //执行该存储过程并返回结果集
   sqlRst = sqlCon.executeQuery();
   //获取来自结果集中的数据
   sqlRst.next();
   i_tjny = sqlRst.getString(1);
   //获取输出参数的值
   o_beijingsb = sqlCon.getString(3);   //获取返回值
   o_hjsb = sqlRst.getInt(2);
   out.print("<td nowrap align='center'>"+o_beijingsb+"</td>");
   out.print("<td nowrap align='center'>"+o_hjsb+"</td>");
   //关闭记录集
   sqlRst.close();   //关闭可调用语句对象
   sqlRst.close();   //关闭数据库对象
    sqlCon.closeConnection();
%> <body bgcolor="#ffffff">
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
      <tr>
        <td rowspan="2" nowrap bgcolor="#0099ff" class="titles">地区</td>
        <td height="22" nowrap bgcolor="#0099ff" class="titles">本月上报数据条数</td>
        <td height="22" nowrap bgcolor="#0099ff" class="titles">本月清分数据条数</td>
      </tr>
      <tr>
        <td nowrap bgcolor="#0099ff" class="titles">1</td>
        <td nowrap bgcolor="#0099ff" class="titles">2</td>
      </tr>    
      
    </table>
</body>
</html>

解决方案 »

  1.   

    想问这样写可以不可以,因为没有做过调用存储过程的方法PRO_FGD(i_tjny, o_hjsb, o_beijingsb, o_tianjinsb, o_hebeisb, o_shanxisb, o_neimengsb, o_liaoningsb, o_daliansb,o_jilinsb,o_helongjiangsb,o_gansuqf,o_qinghaiqf,o_ningxiaqf,o_xinjiangqf)}就是想把里面的参数,输出到前台页面上.如果谁有这样的整个示例,贴出来参考下,谢谢.
      

  2.   

    在Java中调用存储过程都用用call的形式的
      

  3.   

    我知道用"{call 存储过程名(参数)},我上面的例子也是这样写的.就是调用存储方法后,如何把里面的参数显示在前台啊。
      

  4.   

    Connection con = CreateConn();//假设CreateConn()可以得到一个connection
    CallableStatement stmt=con.prepareCall("{call 存储过程名(?,?,?......)}");
    stmt.setString(1,变量);
    ................
      

  5.   

    BEAN掉存储过程,JSP在掉BEAN的方法.就OK了.调用存储过程不成直接在页面上掉!!
      

  6.   

    我看了下资料,在页面上调用也可以.如果我想在页面上得到调用存储过程CallableStatement stmt=con.prepareCall("{call 存储过程名(a,b,c......)}")后的a和b的值,如何写啊?stmt.setString(1,变量)是什么意思啊,就是设置变量的值为1?还是其他意思?
      

  7.   

    call自己设置参数,还可以有返回值。