程序报该语句没有返回结果集请问是什么原因
yxhit 2012-01-16 11:43:04 异常信息:
com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:171)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:394)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:283)
at org.com.dao.CostCustomerDao.serachdao(CostCustomerDao.java:26)
at org.apache.jsp.view.storage.cost_005fcustomer_005fslcbll_005ftable_jsp._jspService(cost_005fcustomer_005fslcbll_005ftable_jsp.java:80)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.com.filter.EncodingFilter.doFilter(EncodingFilter.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
我的代码:
dao:
public class CostCustomerDao {
public List<CostCustomerBean> serachdao(String area_no,String start_date,String end_date){
List<CostCustomerBean> list=new ArrayList<CostCustomerBean>();
Connection conn=null;
CallableStatement st=null;
ResultSet rs=null;
String proc="{?=call p_bi_cost_customer_slcbll(?,?,?)}";
try {
conn=DBdao.getconn();
st=conn.prepareCall(proc);
st.registerOutParameter(1,Types.INTEGER);
st.setString(2,area_no);
st.setString(3,start_date);
st.setString(4,end_date);
rs=st.executeQuery();
while(rs.next()){
String data_disp=rs.getString("data_disp");
String col_data=rs.getString("col_data");
CostCustomerBean bean= new CostCustomerBean(data_disp,col_data);
list.add(bean);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
DBdao.closeconn(rs, st, conn);
}
return list;
}
jsp:
<%@page import="org.com.bean.CostCustomerBean"%>
<jsp:useBean id="serach" class="org.com.dao.CostCustomerDao"></jsp:useBean>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
String area_no=request.getParameter("area_no");
String start_date=request.getParameter("start_date");
String end_date=request.getParameter("end_date");
List<CostCustomerBean> list=serach.serachdao(area_no,start_date,end_date);
request.setAttribute("list",list);
%>
<table border="1" id="table1" align="center">
<tr class="tr1">
<th>项目</th>
<th>金额</th>
</tr>
<tbody id="tbody">
<c:forEach items="${list}" var="c">
<tr class="tr2" id="tr">
<td>${c.data_disp }</td>
<td><fmt:formatNumber value="${c.col_data}" pattern="#,##0.00"/></td>
</tr>
</c:forEach>
</tbody>
</table>
我其他表也是这样操作的能正常查询,只有这个一直报这个错,请问是我代码有问题,还是存贮过程的原因,存贮过程具体怎么写的我不清楚,我只负责调用,放到数据库里面直接执行存贮过程是正常的,能查出东西