<%@ page contentType="text/html;charset=gb2312" %>
<%@ include file="incoming/common.jsp"%>
<%@ include file="incoming/check.jsp"%>
<html>
<head>
<title>网上书店</title>
<link href="incoming/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<%@ include file="incoming/header.jsp"%>
<br><a class="title">在线购书</a><br>
<%
DBSQLManager dbsm = new DBSQLManager();
String sql="SELECT * FROM bookinfo ";
dbsm.setSqlStr(sql);
dbsm.executeQuery();
ResultSet rs=dbsm.getRs();
%>
<table width="700" border="1" cellpadding="0" cellspacing="0">
  <tr>
    <td width="43%" height="26"><div align="center">书名</div></td>
    <td width="17%"><div align="center">作者</div></td>
    <td width="17%"><div align="center">出版社</div></td>
    <td width="5%"><div align="center">价格</div></td>
    <td width="9%"><div align="center">操作</div></td>
  </tr>
<%     while(rs.next()) 
{
%>
  <tr>
    <td height="32"><div align="center"><%=rs.getString("TITLE")%></div></td>
    <td><div align="center"><%=rs.getString("AUTHOR")%></div></td>
    <td><div align="center"><%=rs.getString("PUBLISHER")%></div></td>
    <td><div align="center"><%=rs.getFloat("PRICE")%></div></td>
    <td><div align="center"><a href="bookdetail.jsp?isbn=<%=rs.getString("ISBN")%>"><img src="images/buy.gif" width="45" height="16" border="0""></a></div></td>
  </tr>
  <%}%>
</table>
<p>&nbsp;</p>
<%@ include file="incoming/footer.jsp"%>
</body>
</html>
这是上面那个文件booklist.jsp,不知道哪里有问题

解决方案 »

  1.   

    dbsm.setSqlStr(sql); 
    dbsm.executeQuery(); 
    这2句有问题
    你去看下DBSQLManager里面有没有executeQuery()这个方法,他要不要穿参
    ========================
    不过估计肯定有的
    我更相信是因为你sql没有set到dbsm里面去导致他execute的时候没有sql语句导致空指针
      

  2.   

    请问sql怎么set到dbsm里面啊求助
      

  3.   

    package bookshop;
    import java.sql.*;public class DBConnectionManager {
    private String driverName = 
    "com.microsoft.jdbc.sqlserver.SQLServerDriver"; 
    private String url = 
    "jdbc:microsoft:sqlserver://localhost:1433;databaseName=bookshop";
    private String user = "sa";
    private String password = "123"; public void setDriverName(String newDriverName) {
             this.driverName = newDriverName;
         }
         public String getDriverName() {
             return driverName;
         }

    public void setUrl(String newUrl) {
            this.url = newUrl;
         }
       
    public String getUrl() {
            return url;
         }
    public void setUser(String newUser) {
            this.user = newUser;
    }
    public String getUser() {
            return user;
    }
    public void setPassword(String newPassword) {
            this.password = newPassword;
         }
    public String getPassword() {
            return password;
         }

    public Connection getConnection() {
         try 
    {
             Class.forName(driverName);
             return DriverManager.getConnection(url, user, password);
         }
            catch (Exception e) {
                e.printStackTrace();
                return null;
             }
         }

    }
      

  4.   

    package bookshop;import java.sql.*;
    import bookshop.*;public class DBSQLManager{
    protected Connection conn = null; //Connection对象
    protected Statement stmt = null; //Statement对象
    protected ResultSet rs = null; //记录结果集
    protected String sqlStr; //SQL语句

    public DBSQLManager() {
    try
    {
    sqlStr = "";
    DBConnectionManager dcm = new DBConnectionManager();
    conn = dcm.getConnection();
    stmt = conn.createStatement();
    }
    catch (Exception e) {
    System.out.println(e);
    }

    } public Statement getStmt() {
    return stmt;
    } public Connection getConn() {
    return conn;
    } public ResultSet getRs() {
    return rs;
    } public void setSqlStr(String newSqlStr) {
    this.sqlStr=newSqlStr;
    }
    public String getSqlStr() {
    return sqlStr;
    } public void executeQuery() throws Exception  {
    rs = stmt.executeQuery(sqlStr);
    }
    public void executeUpdate() throws Exception  {
    stmt.executeUpdate(sqlStr);
    }

    public void close() throws SQLException {
    if ( stmt != null ) {
    stmt.close();
    stmt = null;
    }
    conn.close();
    conn = null;
    }};