<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")
.newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url, user, password);
//不带参数的存储过程
CallableStatement stmt = conn.prepareCall("{call ghy_proc}");
stmt.execute();
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
out.println(rs.getString(1) + "<br>");
}
rs.close();
stmt.close(); //具有返回值的存储过程-ghy_proc_var
stmt = conn.prepareCall("{call ghy_proc_return(?,?)}");
stmt.registerOutParameter(1, Types.INTEGER);
stmt.registerOutParameter(2, Types.INTEGER);
stmt.execute();
rs = stmt.getResultSet();
while (rs.next()) {
out.println("max=" + rs.getInt(0));
out.println("min=" + rs.getInt(1));
}
%>
</body>
</html>--------------------------
org.apache.jasper.JasperException: Exception in JSP: /test.jsp:1714:  CallableStatement stmt = conn.prepareCall("{call ghy_proc}");
15:  stmt.execute();
16:  ResultSet rs = stmt.getResultSet();
17:  while (rs.next()) {
18:  out.println(rs.getString(1) + "<br>");
19:  }
20:  rs.close();
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.jsp.test_jsp._jspService(test_jsp.java:72)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
各位帮忙没有分了,

解决方案 »

  1.   

    CREATE PROCEDURE ghy_proc 
    AS 
    select * from jobs
    GO
      

  2.   

    如果没有这段代码就正常显示
    //具有返回值的存储过程-ghy_proc_var
    stmt = conn.prepareCall("{call ghy_proc_return(?,?)}");
    stmt.registerOutParameter(1, Types.INTEGER);
    stmt.registerOutParameter(2, Types.INTEGER);
    stmt.execute();
    rs = stmt.getResultSet();
    while (rs.next()) {
    out.println("max=" + rs.getInt(0));
    out.println("min=" + rs.getInt(1));
    }有就出错,为什么啊,帮忙