jsp连接ODBC问题
<%@ page import="java.sql.*"%>
<%@ page session="true"%>
<%--@ page errorPage="err_booksingle.jsp"--%>
<html>
<head>
<title>单本还书结束界面</title>
</head>
<body>
<%
%>
<%
String id=request.getParameter("id");
String username=(String)session.getAttribute("aa");
String name=null;
int number=1;
String date=null;
String concern=null;
int a=0;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:FBO");
PreparedStatement ps=con.prepareStatement("update book set book_number=book_number-1 where book_id=? and book_number>=1");
ps.setString(1,id);
a=ps.executeUpdate();
if(a>0){
out.print("1");
ps=con.prepareStatement("select * from book where book_id=?");
ps.setString(1,id);
ResultSet rs=ps.executeQuery();
if(rs.next()){
out.print("3");
name=rs.getString(2);
date=rs.getString(6);
concern=rs.getString(7);
}
else{
out.print("4");
response.sendRedirect("err_booksingle.jsp");
}
out.print("5");
ps=con.prepareStatement("select * from borrow_book where id=?)");
ps.setString(1,id);
rs=ps.executeQuery();out.print("6");
if(rs.next()){
ps=con.prepareStatement("update borrow_book set borrowbooknumber=borrowbooknumber+1 where id=?)");
ps.setString(1,id);
int c=ps.executeUpdate();
if(c>0){
ps.close();
}
else{
//response.sendRedirect("err_booksingle.jsp");
}
}
else{
ps=con.prepareStatement("insert into borrow_book values(?,?,?,?,?,?)");
ps.setString(1,id);
ps.setString(2,name);
ps.setString(3,concern);
ps.setInt(4,number);
ps.setString(5,date);
ps.setString(6,username);
int n=ps.executeUpdate();
out.println(n);
ps.close();
con.close();
}out.print("7");
rs.close();
}
else{
out.print("2");
//response.sendRedirect("err_booksingle.jsp");
}
%>
恭喜借书成功
</body>
</html>
为什么回有异常,错在哪里,异常如下:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: ')' 附近有语法错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800)
org.apache.jsp.borrowbook_005fsingle_005ffinish_jsp._jspService(borrowbook_005fsingle_005ffinish_jsp.java:119)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: ')' 附近有语法错误。
sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6879)
sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7036)
sun.jdbc.odbc.JdbcOdbc.SQLExecute(JdbcOdbc.java:3104)
sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(JdbcOdbcPreparedStatement.java:214)
sun.jdbc.odbc.JdbcOdbcPreparedStatement.executeQuery(JdbcOdbcPreparedStatement.java:89)
org.apache.jsp.borrowbook_005fsingle_005ffinish_jsp._jspService(borrowbook_005fsingle_005ffinish_jsp.java:77)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.16