首先通过一个连接的按扭,进入到action,执行这个方法,然后就把相关信息查询出来:public ActionForward selectHitInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

Connection conn = DBConnect.getDBConnect(); //这是调用jdbc连接的方法

String sql = "select a.*,b.CurrentName,  b.MedicationName, b.dosage, c.manufacturer from " 
+ "adrReport a, adrMedDetail b , drugTradeName c where " 
+ "a.id = b.reportid  where CurrentName = ? and manufacturer = ? "; // 创建取出表中的相关数据
PreparedStatement psm = conn.prepareStatement(sql);
ResultSet rs = psm.executeQuery(); //它就是报这个地方错了!
List list1 = new ArrayList();
List list2 = new ArrayList();
List list3 = new ArrayList(); while(rs.next()) {
AdrReport report = new AdrReport();
AdrMedDetail adrmed = new AdrMedDetail();
DrugTradeName trade = new DrugTradeName();
report.setOrgName(rs.getString("orgname"));
report.setAdrName(rs.getString("adrname"));
report.setProvinceReceiveTime(rs.getDate("provinceReceiveTime"));
report.setOpinionOfProvince(rs.getString("opinionOfProvince"));
report.setResult(rs.getString("result"));
adrmed.setMedicationName(rs.getString("medicationName"));
adrmed.setCurrentName(rs.getString("currentName"));
adrmed.setDosage(rs.getString("dosage"));
trade.setManufacturer(rs.getString("manufacturer"));
list1.add(report);
list2.add(adrmed);
list3.add(trade);

}
request.setAttribute("listone", list1);
request.setAttribute("listtwo", list2);
request.setAttribute("listthree", list3);
return mapping.findForward("hitdrugStat");
}然后就报了这个错误:
到现在还没有的到好的解决方案,麻烦大家帮我解决下。非常感谢!11 九月 2008 08:25:27,203 WARN  util.RequestUtils  - No FormBeanConfig found under 'AdrReportForm'
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.adr.common.struts.BaseAction.execute(BaseAction.java:91)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.adr.common.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:38)
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:175)
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:844)
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)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 没有为参数号 1 设置值。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.buildParamTypeDefinitions(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.buildPreparedStrings(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doPrepExec(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PreparedStatementExecutionRequest.executeStatement(Unknown Source)
at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(Unknown Source)
at com.adr.report.approvemanage.action.AdrReportAction.selectHitInfo(AdrReportAction.java:837)
... 31 more

解决方案 »

  1.   

    你这SQL语句不对啊,怎么搞出2个where 
      

  2.   

    sql语句中有两个where ,可将SQL语句打印出来,然后放到数据里面执行一下,看能不能取得数据
      

  3.   

    谢谢各位啊!我已经纠正过来了 
    String sql = "select a.*,b.CurrentName,  b.MedicationName, b.dosage, c.manufacturer from " 
    + "adrReport a, adrMedDetail b , drugTradeName c where " 
    + "a.id = b.reportid  and b.CurrentName = ? and c.manufacturer = ? "; // 创建取出表中的相关数据 
    在数据库里面执行没问题了,但还是报了这个错!
      

  4.   

    sql语句用的参数还没有赋值,不可能运行吧。
      

  5.   

    b.CurrentName = ? and c.manufacturer = ?  你的?没设置吧?
    Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 没有为参数号 1 设置值。