我在mysql数据库里建个表dj_info,里面有个值b我赋予它0
我想在页面做个程序实现每次访问页面时数字能加1   帮帮谢谢了!~
<%
ResultSet rs = null;
Connection conn = null;
conn = Border.getConn() ;
rs = Border.executeSQL("select b from dj_info ");
int a;
a=rs.getString("b")+1;
String a=request.getParameter("a");
a= new String(a.getBytes("ISO8859-1"),"gb2312"); 
Connection conn = null;
conn = Border.getConn() ;
Statement stmt = conn.createStatement(); 
stmt.executeUpdate("update dj_info set b='"+a+"'");
%>
<%=rs.getString("b")%>
总错!~求求大家帮忙啊!~

解决方案 »

  1.   

    作一个filter把每次都给对应的页面计数
      

  2.   

    这里有一个用文件实现计数器功能的例子。<%
    String countFile="D:/tomcat/webapps/ROOT/count.txt";
    BufferedReader file=new BufferedReader(new FileReader(countFile));
    String readStr=null;
    int writeStr=1;
    try
    {
     readStr=file.readLine();
    }
    catch(IOException e)
     {
      System.out.println("读取数据错误");
     }
    if(readStr==null) readStr="0";
     else 
     {
     writeStr=Integer.parseInt(readStr)+1;
     }
     
     try
     {
       
      PrintWriter pw1=new PrintWriter(new FileOutputStream(countFile));
      pw1.println(writeStr);
      pw1.close();
      }
     catch(IOException e)
     {
     out.println(e.getMessage());
     }
     %>
    <div align="left">
    &nbsp;&nbsp;&nbsp;&nbsp;本页面被访问<font color="#FF0000" ><b>
    <%=readStr%></b></font>次!
    </div>
      

  3.   

    大概改了一下,不知道符合不符合你的要求。<%
    ResultSet rs = null;
    Connection conn = null;
    conn = Border.getConn() ;
    rs = Border.executeSQL("select b from dj_info ");
    int hits;//修改一下变量名
    hits=rs.getString("b")+1;
    String name=request.getParameter("a");//猜测,这个地方应该是用户名字段
    name= new String(a.getBytes("ISO8859-1"),"gb2312"); 
    Statement stmt = conn.createStatement(); 
    stmt.executeUpdate("update dj_info set b='"+hits+"' while name='"+name+"'");
    //需要有while子句进行匹配。字符串匹配的代码可能有点问题,找找SQL语句说明看看吧。
    %>
    <%
    rs = Border.executeSQL("select b from dj_info ");//需要重新获取
    out.print(rs.getString("b"));
    %>下面所说的文件的方式用于单独的一个页面计数器,自存储一个数值纪录
      

  4.   

    <%@ page import="java.util.*" %>
    <%@ page import="javax.servlet.*" %>
    <%@ page import="java.io.*" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="javax.servlet.http.*" %>
    <HTML><HEAD><TITLE>JSP Form Processing Page(Manually Programming)</TITLE></HEAD>
    <body>
    <%
    String userName="";
    String userComment="";
    Connection c;
            Statement s=null;
            ResultSetMetaData resultMetaData;
    try
            {
             String dbUrl = "jdbc:mysql://127.0.0.1/mydb1";
                    String user = "";
                    String password = "";
                    Class.forName("com.mysql.jdbc.Driver");
                    c = DriverManager.getConnection(dbUrl, user, password);
                    s = c.createStatement();
    Enumeration flds = request.getParameterNames();
    String field= (String)flds.nextElement();
    userComment= request.getParameter(field);
    field= (String)flds.nextElement();
    userName= request.getParameter(field);
                 PreparedStatement prep = c.prepareStatement(
                                    "INSERT INTO Names  VALUES (?, ?)");
                    prep.setString (1, userName);
                    prep.setString (2, userComment);
                    prep.executeUpdate ();
            }
            catch(Exception e)
            {
             e.printStackTrace();
            }
    %>
    <%
            try
            {
                 ResultSet r = s.executeQuery("SELECT * FROM Names" );//
                 resultMetaData=r.getMetaData();
    %>
    <h2> Table Name: <%= resultMetaData.getTableName(1) %></h2>
    <table border = 1>
    <tr>
    <%
    for (int i = 1; i <=  resultMetaData.getColumnCount() ; i++)
            {
    %>
    <th><%= resultMetaData .getColumnName(i)%></th>
             <%
    }%>
    </tr>
    <%
    while(r.next())
            {
    %>
    <tr>
    <%
    for (int i = 1; i <=  resultMetaData.getColumnCount() ; i++)
    {
    %>
                    <td> <%=r.getString(i) %></td> <%
    }
    %>
    </tr>
    <%
    }
    %>
    <%
      }
            catch(Exception e)
            {
             e.printStackTrace();
            }
    %>
    </table></body></html>
      

  5.   

    不好意思,上面的贴错了,我前面曾经作个一个实现该功能的jsp网页^_^但现在没找到!