帮帮分析这个有问题的代码!
问题代码如下:
<%!Connection con=null;
Statement sql=null;
ResultSet rs=null;
String counter=null;
String protocol=null;
String hostinf=null;
String ip=null;
%>
<%try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException event)
{out.print("数据库连接失败!<br>");
}
if(session.isNew()) {protocol=request.getProtocol();
hostinf=request.getHeader("User-Agent");
ip=request.getRemoteAddr();
try{String condition="insert into counter values(null,'"+hostinf+"','"+protocol+"','"+ip+"',null)";
sql.executeUpdate(condition);
}
catch(SQLException event)
{out.print("数据库添加失败!<br>");
}
}
try{con=DriverManager.getConnection("jdbc:odbc:myodbc3-zdp","root","");
sql=con.createStatement();
rs=sql.executeQuery("select count(id) from counter");
rs.next();
counter=rs.getString(1);
}
catch(SQLException event)
{out.print("数据库查询失败!<br>");
}
%>
<%=counter%>
这段代码的功能是计数器。
有时候可以记数正确,有时候不能正常记数,我怀疑是session对象的问题,请高手详细解答!