我用Oracle數據庫進行分頁 突然出現了一個錯誤 ;
下面是 Oracle分頁的語句 我測試過沒有錯誤
String sql = "select * from(select m.*,ROWNUM RN from (select * from mp3 order by mid)m )where RN between ? and ?";
這裏是連接數據庫和查詢記錄的代碼;
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
public List<MP3> queryPerPage(int page)
{
List<MP3> list = null;
conn = OracleDBCONN.getInstance().getConnecton();
int startRow = pageSize * (page - 1) + 1;
int endRow = pageSize * page;
try {
ps = conn.prepareStatement(sql);
ps.setInt(1,startRow);
ps.setInt(2,endRow);
rs = ps.executeQuery();
while (rs.next()) {
list = new ArrayList<MP3>();
MP3 mp3 = new MP3();
mp3.setMid(rs.getInt("mid"));
mp3.setMname(rs.getString("mname"));
mp3.setSinger(rs.getString("singer"));
mp3.setMsize(rs.getString("msize"));
list.add(mp3);
}
} catch (SQLException e) {
System.out.println("list");
}finally{
OracleDBCONN.close(conn, rs, ps);
}
return list;
}
我用main方法測試過有數據,但是我把它輸出到頁面的時候突然出現錯誤,錯誤如下
java.sql.SQLException: ORA-01008: 並非所有變量都已綁定
希望大家幫忙解決!先謝了