作业帮 > 综合 > 作业

SELECT * FROM T_DUTY WHERE dutyDate Between #2010-09-08# And

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/01 14:34:23
SELECT * FROM T_DUTY WHERE dutyDate Between #2010-09-08# And #2010-09-09#
java.sql.SQLException:No data found
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7138)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3907)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5698)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:354)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:411)
at com.dao.DutyDaoImpl.queryByTimeSpace(DutyDaoImpl.java:240)
at com.servlet.DutyRoster.queryByTimeSpace(DutyRoster.java:164)
at com.servlet.DutyRoster.doPost(DutyRoster.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
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.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(Thread.java:619)
用的Access数据库,当查询一段时间内的记录时报错,在Access里面测试Sql语句输入正确,数据库里面有数据
SELECT * FROM T_DUTY WHERE dutyDate Between #2010-09-08# And
access不能在一个字段上连续多次调用 rs.getString("字段名"),你需要先定义一个变量保存
代码:
conn = DriverManager.getConnection(url,"sa","sa");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
//System.out.println(sql);
CourseBean bea=new CourseBean();
System.out.println("#######"+rs.getString("tcno"));
bea.setTcno(rs.getString("tcno"));
bea.setCname(rs.getString("cname"));
bea.setGrade(rs.getString("grade"));
bea.setDescri(rs.getString("descri"));
ve.add(bea);
}
} catch (SQLException sqle) {
sqle.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("finish");
return ve;
}
原因:
如上面的代码,rs.getString("tcno")被使用两次,这是不可以的,如果要重复使用数据库的结果可以,将结果赋值给中间变量.