
JSP java.sql.SQLException: ORA-00933: SQL 命令未正确结束
<%@pagepageEncoding="UTF-8"%><%@pageimport="java.sql.*,bbs.*,java.util.*"%><%finalint...
<%@page pageEncoding="UTF-8"%>
<%@page import="java.sql.*,bbs.*,java.util.*"%>
<%
final int PAGE_SIZE = 5;//每页显示的记录数
int pageNo = 1;//当前是第几页
int totalPages = 0;//总页数
String strPageNo = request.getParameter("pageNo");
if (strPageNo != null && !strPageNo.trim().equals("")) {
try {
pageNo = Integer.parseInt(strPageNo);
} catch (NumberFormatException e) {
pageNo = 1;
}
}
if (pageNo <= 0)
pageNo = 1;
List<Article> articles = new ArrayList<Article>();
Connection conn = DB.getConn();
Statement stmtCount = DB.createStmt(conn);
ResultSet rsCount = DB.executeQuery(stmtCount,"select * from article where pid = 0");
rsCount.next();
int totalRecords = rsCount.getInt(1);
totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE;
if (pageNo > totalPages)
pageNo = totalPages;
Statement stmt = DB.createStmt(conn);
int startPos = (pageNo - 1) * PAGE_SIZE;
String sql = "select * from article where pid = 0 " + startPos + "," + PAGE_SIZE;//这句有问题 ,用的是Oracle数据库
ResultSet rs = DB.executeQuery(stmt, sql);//这句报错
while (rs.next()) {
Article a = new Article();
a.initFromRs(rs);
articles.add(a);
}
DB.close(rsCount);
DB.close(stmtCount);
DB.close(rs);
DB.close(stmt);
DB.close(conn);
%>
---------------------------------------
各个变量的值
strPageNo=null
pageNo=1
rsCount=oracle.jdbc.driver.OracleResultSetImpl@1ef3a7e
totalPages=1
startPos=0
PAGE_SIZE=5
sql=select * from article where pid = 0 0,5
提示错误:
java.sql.SQLException: ORA-00933: SQL 命令未正确结束
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:744)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:206)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:800)
at java.lang.Thread.run(Unknown Source)
七月 08, 2012 6:44:08 下午 org.apache.catalina.core.StandardWrapperValve invoke
。。。
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.articleFlat_jsp._jspService(articleFlat_jsp.java:106)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
。。。 展开
<%@page import="java.sql.*,bbs.*,java.util.*"%>
<%
final int PAGE_SIZE = 5;//每页显示的记录数
int pageNo = 1;//当前是第几页
int totalPages = 0;//总页数
String strPageNo = request.getParameter("pageNo");
if (strPageNo != null && !strPageNo.trim().equals("")) {
try {
pageNo = Integer.parseInt(strPageNo);
} catch (NumberFormatException e) {
pageNo = 1;
}
}
if (pageNo <= 0)
pageNo = 1;
List<Article> articles = new ArrayList<Article>();
Connection conn = DB.getConn();
Statement stmtCount = DB.createStmt(conn);
ResultSet rsCount = DB.executeQuery(stmtCount,"select * from article where pid = 0");
rsCount.next();
int totalRecords = rsCount.getInt(1);
totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE;
if (pageNo > totalPages)
pageNo = totalPages;
Statement stmt = DB.createStmt(conn);
int startPos = (pageNo - 1) * PAGE_SIZE;
String sql = "select * from article where pid = 0 " + startPos + "," + PAGE_SIZE;//这句有问题 ,用的是Oracle数据库
ResultSet rs = DB.executeQuery(stmt, sql);//这句报错
while (rs.next()) {
Article a = new Article();
a.initFromRs(rs);
articles.add(a);
}
DB.close(rsCount);
DB.close(stmtCount);
DB.close(rs);
DB.close(stmt);
DB.close(conn);
%>
---------------------------------------
各个变量的值
strPageNo=null
pageNo=1
rsCount=oracle.jdbc.driver.OracleResultSetImpl@1ef3a7e
totalPages=1
startPos=0
PAGE_SIZE=5
sql=select * from article where pid = 0 0,5
提示错误:
java.sql.SQLException: ORA-00933: SQL 命令未正确结束
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:744)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:206)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:800)
at java.lang.Thread.run(Unknown Source)
七月 08, 2012 6:44:08 下午 org.apache.catalina.core.StandardWrapperValve invoke
。。。
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.articleFlat_jsp._jspService(articleFlat_jsp.java:106)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
。。。 展开
3个回答
展开全部
sql = "select * from article where pid = 0 " + startPos + "," + PAGE_SIZE;
0后面加个空格你试一下
0后面加个空格你试一下
展开全部
sql=select * from article where pid = 0 0,5 这个sql明显不能执行啊。
追问
那应该如何改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的sql语句写错了,检查下sql
追问
不知道怎么改所以才问的嘛
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询