数据库连接文件
<%
//access数据库
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=d:/jsp/oa/database/oa_database.mdb";
Connection conn=DriverManager.getConnection(url,"root","oa8888");
Statement stat=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //MYSQL数据库连接
//Class.forName("com.mysql.jdbc.Driver").newInstance();
//String url ="jdbc:mysql://localhost:3306/oa_database";
//Connection conn=DriverManager.getConnection(url,"root","111111");
//Statement stat = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);//SQLSERVER数据库连接
//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=oa_database";
//Connection conn=DriverManager.getConnection(url,"sa","111111");
//Statement stat = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
%>mysql sqlserver都支持rs.last();rs.last(); access数据库不支持 ??? 运行分页代码后提示:
javax.servlet.ServletException: No data found
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.fy.yh_jsp._jspService(yh_jsp.java:313)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
谢谢高手回答
<%
//access数据库
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String url ="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=d:/jsp/oa/database/oa_database.mdb";
Connection conn=DriverManager.getConnection(url,"root","oa8888");
Statement stat=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //MYSQL数据库连接
//Class.forName("com.mysql.jdbc.Driver").newInstance();
//String url ="jdbc:mysql://localhost:3306/oa_database";
//Connection conn=DriverManager.getConnection(url,"root","111111");
//Statement stat = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);//SQLSERVER数据库连接
//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=oa_database";
//Connection conn=DriverManager.getConnection(url,"sa","111111");
//Statement stat = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
%>mysql sqlserver都支持rs.last();rs.last(); access数据库不支持 ??? 运行分页代码后提示:
javax.servlet.ServletException: No data found
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.fy.yh_jsp._jspService(yh_jsp.java:313)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
谢谢高手回答
先rs.next(),看看有没有数据啊。
另外你的分页sql是否写错了结果根本就没有数据,当然是 no data found了。
access支持rs.last()的。
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;public class TestResultRow {
private static final String sql = "select aaa from t1"; public static String[] getArrayFromAccess() {
String[] ret=new String[]{""};
ArrayList<String> lst = new ArrayList<String>();
Connection con = null;
Statement ps = null;
ResultSet rs = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con = DriverManager.getConnection("jdbc:odbc:test1"); ps = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs = ps.executeQuery(sql);
while (rs.next()) {
rs.last();
System.out.println(rs.getRow());
}
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
return lst.toArray(ret);
} public static void main(String[] args) {
String[] array = TestResultRow.getArrayFromAccess();
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
}
}
IWAV0055I Java Bean test.oracle.TestResultRow started with the main method
8
null