<%@page language="java"%>
<%@page import="java.sql.*"%>
<html>
<head>
<title>count</title>
</head>
<body>
<jsp:useBean id="data" class="sql.create" scope="page"/>
<%
data.executeUpdate("use counter;");
String sql="select * from count_num";
ResultSet rs=data.executeQuery(sql);
int count=rs.getInt(2);
count++;
sql="update count_num set num="+count;
data.executeQuery(sql);
%>
you are<font color="red"><%=count%></font> visitor.
</body>
</html>

解决方案 »

  1.   

    指针错误,把你的jsp程序改成如下:
    <jsp:useBean id="data" class="sql.create" scope="page"/>
    <%
    data.executeUpdate("use counter;");
    String sql="select * from count_num";
    ResultSet rs=data.executeQuery(sql);
    while(rs.next())
    {int count=rs.getInt(2);
    count++;
    sql="update count_num set num="+count;
    data.executeUpdate(sql);
    }
    %>
      

  2.   

    问题还是没有解决,如果这样写,那就提示新的错误是count没有定义.
      

  3.   

    把count写到while{} 的外边去
      

  4.   

    <%int count=0;
    String session_old=(String)session.getAttribute("session_id");
    String session_new=session.getId();
    if(session_old==null){
    session_old="new";
    }
    session_old=session_old.trim();
    session_new=session_new.trim();
    data.executeUpdate("use counter;");
    String sql="select * from count_num";
    ResultSet rs=data.executeQuery(sql);
    while(rs.next()){
    count=rs.getInt(2);
    if(!session_old.equals(session_new)){
    count++;
    sql="update count_num set num="+count;
    data.executeQuery(sql);
    session.setAttribute("session_id",session_new);
    }}
    这段代码错在哪儿?一开始执行的时候的错误是Before start of result set,我加上了while语句为什幺执行的时候一片空白?请帮忙看一下.谢谢!
    %>
      

  5.   

    表示rs没有东西啊。我看不懂这个错误:Before start of result set
      

  6.   

    为什么喜欢用getInt(2)呢???
      

  7.   

    好像应该是NullPointer啊,为什么是这个呢?迷惑中
      

  8.   

    请问Nullpointer是什么错误啊?我刚好遇到了。
      

  9.   

    你的count不能第一多次,所以要把int count写到外面去.同时,id不要用data命名,因为data是一个关键字!
      

  10.   

    你jsp中要先把rs.next()或者rs.firest()才能得出数据!
      

  11.   

    to learnner(&nbsp;):
    java shows "NullPointer" exception when toooo many exceptions occur.
    it's not one style of java exception, but a set of.
    such as pass a "null" object to a variable...if your code is perfect enough, it may be not appeared.
      

  12.   

    I see and thank you.
      

  13.   

    ResultSet rs=data.executeQuery(sql); // 1.
    while(rs.next()){
    count=rs.getInt(2);
    if(!session_old.equals(session_new)){
    count++;
    sql="update count_num set num="+count;
    data.executeQuery(sql); // 2. 
    session.setAttribute("session_id",session_new);不知道你的executeQuery()是怎么写的?希望不是同一个Statement ,否则这个时候1就会关闭。
      

  14.   

    从代码段看来,你似乎想根据登陆的用户保存在session中的信息来给这个登陆用户的访问次数加一
    Before start of result set 的错误是因为你在开始没有把得到的结果集针向下挪一位。既用rs.next(),因为刚得到的结果集指针指向结果集中第一条纪录的前一个位置,要用rs.next()来将指针指向第一条纪录。<%
    int count=0;
    String session_old=(String)session.getAttribute("session_id");
    String session_new=session.getId();
    if(session_old==null){
    session_old="new";
    }
    session_old=session_old.trim();
    session_new=session_new.trim();data.executeUpdate("use counter;");
    String sql="select * from count_num";ResultSet rs=data.executeQuery(sql);
    while(rs.next())
    {
     count=rs.getInt(2);
     if(!session_old.equals(session_new))
     {
     count++;
     sql="update count_num set num="+count;
     data.executeUpdate(sql);
     session.setAttribute("session_id",session_new);
     }
    }
    %〉
    更新
      

  15.   

    更新数据表的语句似乎是:data.executeUpdate(sql);
    不是:data.executeQuery(sql);