估计是你连的mssql数据库里的数据库里没有messagebook这张表,
或者你把相关代码贴出来看看?

解决方案 »

  1.   

    同意楼上的意见没有'messagebook' 这张表
      

  2.   

    联接时要指定数据库,否则会使用缺省的数据库。如:用sa联接,却省的应该是system
      

  3.   

    我同意bdsc的说法,我是使用sa登陆的,可是怎么把它变成我指定的tables里面的表messagebook呢?
      

  4.   

    jdbc:microsoft:sqlserver://hostname:port;DatabaseName=xxxxxx;;User=test;Password=secret
      

  5.   

    //liuyan.jsp
    <%@page import="java.sql.*"%>
    <meta http-equiv="Content-Type"content="text/html;charset=gb2312">
    <html>
    <head>
    <title>知识论坛留言簿</title>
    </head>
    <body bgcolor="#ffffff" text="#000000" background="images/bg.gif">
    <%
      String p = request.getParameter("page");
      int pag = Integer.parseInt(p);
      if(pag>1)
      {
        out.print("<a href=liuyan.jsp?page=");
        out.print(pag-1);
        out.print(">前一页</a>");
      }
    %>
    <a href="post.html"><font color="#ff0000">我要留言!</font></a><a href="index.jsp"><font color="#000000">
    返回主页</font></a></body><marquee scrolldelay=500 scrollamount=80 bacolor="#ff0066"><font color="#ff0000">
    陋室一间,多谢光临寒舍,请随意留言</font></marquee>
    <jsp:useBean id="display" scope="page" class="design.KM.messageList"/>
    <%
      display.setPage(pag);
      display.Display(response);
    %>
    <%
    if(pag>1)
    {
        out.print("<a href=liuyan.jsp?page=");
        out.print(pag-1);
        out.print(">前一页</a>");
    }
    if(display.hasNext())
    {
        out.print("<a href=liuyan.jsp?page=");
        out.print(pag+1);
        out.print(">后一页</a>");
    }
    %><a href="post.html"><font color="#ff0000">我也要留言!</font></a><a href="index.jsp"><font color="#000000">
    返回主页</font></a>
    </body>
    </html>//messagelist.java
    package KM;
    import java.sql.*;
    import java.lang.*;
    import java.io.*;
    import javax.servlet.http.*;
    import javax.servlet.*;public class messageList
    {
        int page;
        int count;    public void setPage(int page)
        {
          try
          {
             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
          }
            catch(ClassNotFoundException e)
          {
            System.out.println("驱动没有找到");
          }
            this.page=page;
    }
    public void Display(HttpServletResponse response)
    {
        try
        {
          response.setContentType("text/html;GBK");
          PrintWriter out=response.getWriter();
          Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;database=KM","sa","");
          Statement stmt=con.createStatement();
          ResultSet rs=stmt.executeQuery("select count(*) from messagebook");
          rs.next();
          this.count=rs.getInt(1);
          int first=count-(page-1)*10;
          int last=count-page*10;
          PreparedStatement pstmt=con.prepareStatement("select*from messagebook where uid>=?and uid<=?group by uid");
          pstmt.setInt(1,last);
          pstmt.setInt(2,first);
          rs=pstmt.executeQuery();
          rs.afterLast();
          while(rs.previous())
          {
            out.print("留言人:");
            out.print("<font color=red>"+rs.getString("name")+"</font>");
            out.print("<br>");
            out.print("电子邮件");
            out.print("<a href=mailto:");
            out.print(rs.getString("email"));
            out.print(">");
            out.print(rs.getString("email"));
            out.print("</a>");
            out.print("<br>来自:"+rs.getString("ip")+"留言于"+rs.getString("exactpost"));
            out.print("<br>");
            out.print("<font color=#660000>他说:</font><br><table><tr><th></th></tr><td bgcolor=#ccffff>");
            out.print(rs.getString("content"));
            out.print("</td></table>");
            out.print("<table border width=760 height=10><tr><th bgcolor=#660000></th></tr></table>");
          }
        rs.close();
        }
        catch(Exception e)
        {
          System.out.print(e.toString());
        }
      }
      public boolean hasNext()
      {
        if(count>page*10)
           return true;
        else
           return false;
      }
    }
    请问这里有错吗?数据库中的表我已经建好,程序中我也指定了数据库的名称。可是为什么还不能认识messagebook这个表?
    多谢!