源代码如下:<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="java.sql.*"%>
<%String bookId="";
String sql = "";try{    bookId = request.getParameter("bookId");
    Connection con;
    Statement stmt;
   
    Class.forName("com.mysql.jdbc.Driver");
    //注册MySQL驱动程序    DriverManager.registerDriver(new com.mysql.jdbc.Driver());
    //用适当的驱动程序连接到数据库
    String dbUrl = "jdbc:mysql://localhost:3306/bookdb?useUnicode=true&characterEncoding=GB2312";
    String dbUser="dbuser";
    String dbPwd="1234";
    //建立数据库连接    con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
    stmt = con.createStatement();    sql="DELETE FROM books WHERE id="+ bookID;    stmt.executeUpdate(sql);
    
    stmt.close();
    con.close();
    response.sendRedirect("list.jsp");}catch(Exception e){
       session.setAttribute("errMsg",e.getMessage());
       //response.sendRedirect("delete.jsp");
}
%>  其中bookID是我从上个页面传过来的。。可我在执行的时候,为什么页面老出现"bookID cannot be resolved"
请各位大虾查查看啊。

解决方案 »

  1.   


      sql="DELETE FROM books WHERE id='"+ bookID+"'"; 
      

  2.   

    肯定是这个bookID有问题啦,
    是不是这样的  
      sql="DELETE FROM books WHERE id="+ Integer.parsInteger(bookID);
      

  3.   

    sql="DELETE FROM books WHERE id="+ bookID; ->
    sql="DELETE FROM books WHERE id="+ bookId;
      

  4.   

    楼上说得对,bookID是作为字符串传过来的,用时必须进行类型转换。
      

  5.   

    "DELETEFROM booksWHERE id='"+ bookId+"'"; 
    bookID --->bookId
      

  6.   

    sql="DELETE FROM books WHERE id="+ bookId