首先,我不知道是这里发帖子的问题,还是你写的问题,这里: String sql="select count(*) as num_user from user1 where name='''+ uname +''' and passwd='''+ passwd +'''"; 和 sql="select ID,name,nick,passwd,post from user1 where name='''+ uname +''' and passwd='''+ passwd +'''"; 这里的'''是什么意思?不知道你是从哪里学来的?是从ASP派生出来的吗?
首先,我不知道是这里发帖子的问题,还是你写的问题,这里: String sql="select count(*) as num_user from user1 where name='''+ uname +''' and passwd='''+ passwd +'''"; 和 sql="select ID,name,nick,passwd,post from user1 where name='''+ uname +''' and passwd='''+ passwd +'''"; 这里的'''是什么意思?不知道你是从哪里学来的?是从ASP派生出来的吗?
生成sql语句的错误: "select count(*) as num_user from user1 where name='''+ uname +''' and passwd='''+ passwd +'''";改: "select count(*) as num_user from user1 where name='"+ uname +"' and passwd='"+ passwd +"'";其余同理
既然sql="select count(*) as num_user from user1 where name='''+ uname +''' and passwd='''+ passwd +'''"; 那么num_user = rs.getInt("num_user");是不是应该改为:num_user = rs.getInt(1); count(*)应该用rs.getInt(1)
<%@ page contentType="text/html;charset=gb2312"%> <%@ page language="java" %> <%@ page import="java.sql.*"%> <%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <jsp:useBean id="LoginBean" scope="page" class="db.DbConnection" /> <% String pub=request.getParameter("pub"); String uname=request.getParameter("uname"); String passwd=request.getParameter("passwd"); if (pub.length()>0) { LoginBean.openConnection(); String sql="select count(*) as num_user from user1 where name='"+ uname +"' and passwd='"+ passwd+"'"; ResultSet rs = LoginBean.executeQuery(sql); int num_user = 0; int U_ID=0; //rs.last(); //int num_user=rs.getRow(); if (rs.next()) { num_user = rs.getInt("num_user"); } rs.close(); if (num_user==1) { sql="select ID,name,nick,passwd,post from user1 where name='"+ uname +"' and passwd='"+ passwd +"'"; //rs.first(); rs = LoginBean.executeQuery(sql); if (rs.next()) { U_ID=rs.getInt("ID"); String U_nick=rs.getString("nick"); int U_post=rs.getInt("post"); session.putValue("ID",String.valueOf(U_ID)); session.putValue("name",uname); session.putValue("nick",U_nick); session.putValue("passwd",passwd); session.putValue("post",String.valueOf(U_post)); } rs.close(); sql="select logintime,cishu from user1 where ID="+ U_ID; rs = LoginBean.executeQuery(sql); String logintime = null; if (rs.next()) { logintime=rs.getString("logintime"); String cishu=rs.getString("cishu"); } rs.close(); Cookie Thelogintime=new Cookie("cookielogintime",logintime); response.addCookie(Thelogintime); sql="select (CURRENT_TIMESTAMP(getdate())-CURRENT_TIMESTAMP(likai)) as nstaytime from user1 where ID="+ U_ID; rs = LoginBean.executeQuery(sql); int nstaytime=0; if (rs.next()) { nstaytime=rs.getInt("nstaytime"); nstaytime=nstaytime/3600; } rs.close(); sql="select power,hpower from userdata where UID="+ U_ID; rs = LoginBean.executeQuery(sql); int power=0; int hpower=0; int hfpower=0; if (rs.next()) { power=rs.getInt("power"); hpower=rs.getInt("hpower");
} rs.close(); hfpower=hpower*nstaytime/12; int zpower=hfpower+power;
if (zpower>=hpower) { hfpower=hpower-power; } sql="update userdata set nstaytime="+ nstaytime +",power=power+"+ hfpower +" where UID="+ U_ID; LoginBean.executeUpdate(sql); sql="update user1 set logintime=getdate(),cishu=cishu+1 where ID="+ U_ID; LoginBean.executeUpdate(sql); LoginBean.close(); response.sendRedirect("main.jsp"); } else { out.println("用户名或密码错误!<a href='javascript:history.go(-1);'>返回</a>");
String sql="select count(*) as num_user from user1 where name='''+ uname +''' and passwd='''+ passwd +'''";
和
sql="select ID,name,nick,passwd,post from user1 where name='''+ uname +''' and passwd='''+ passwd +'''";
这里的'''是什么意思?不知道你是从哪里学来的?是从ASP派生出来的吗?
String sql="select count(*) as num_user from user1 where name='''+ uname +''' and passwd='''+ passwd +'''";
和
sql="select ID,name,nick,passwd,post from user1 where name='''+ uname +''' and passwd='''+ passwd +'''";
这里的'''是什么意思?不知道你是从哪里学来的?是从ASP派生出来的吗?
name='" + uname + "' and passwd='" + passwd + "'"
if (pub.length()<1) {
out.println("URL请求错误!");
return;
}
...
...
...
if (num_user!=1) {
out.println("用户名或密码错误!<a href='javascript:history.go(-1);'>返回</a>");
return;
}
...
...
...
"select count(*) as num_user from user1 where name='''+ uname +''' and passwd='''+ passwd +'''";改: "select count(*) as num_user from user1 where name='"+ uname +"' and passwd='"+ passwd +"'";其余同理
那么num_user = rs.getInt("num_user");是不是应该改为:num_user = rs.getInt(1);
count(*)应该用rs.getInt(1)
<%@ page language="java" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<jsp:useBean id="LoginBean" scope="page" class="db.DbConnection" />
<%
String pub=request.getParameter("pub");
String uname=request.getParameter("uname");
String passwd=request.getParameter("passwd");
if (pub.length()>0) {
LoginBean.openConnection();
String sql="select count(*) as num_user from user1 where name='"+ uname +"' and passwd='"+ passwd+"'";
ResultSet rs = LoginBean.executeQuery(sql);
int num_user = 0;
int U_ID=0;
//rs.last();
//int num_user=rs.getRow();
if (rs.next()) {
num_user = rs.getInt("num_user");
}
rs.close();
if (num_user==1) {
sql="select ID,name,nick,passwd,post from user1 where name='"+ uname +"' and passwd='"+ passwd +"'";
//rs.first();
rs = LoginBean.executeQuery(sql);
if (rs.next()) {
U_ID=rs.getInt("ID");
String U_nick=rs.getString("nick");
int U_post=rs.getInt("post");
session.putValue("ID",String.valueOf(U_ID));
session.putValue("name",uname);
session.putValue("nick",U_nick);
session.putValue("passwd",passwd);
session.putValue("post",String.valueOf(U_post));
}
rs.close();
sql="select logintime,cishu from user1 where ID="+ U_ID;
rs = LoginBean.executeQuery(sql);
String logintime = null;
if (rs.next()) {
logintime=rs.getString("logintime");
String cishu=rs.getString("cishu");
}
rs.close();
Cookie Thelogintime=new Cookie("cookielogintime",logintime);
response.addCookie(Thelogintime);
sql="select (CURRENT_TIMESTAMP(getdate())-CURRENT_TIMESTAMP(likai)) as nstaytime from user1 where ID="+ U_ID;
rs = LoginBean.executeQuery(sql);
int nstaytime=0;
if (rs.next()) {
nstaytime=rs.getInt("nstaytime");
nstaytime=nstaytime/3600;
}
rs.close(); sql="select power,hpower from userdata where UID="+ U_ID;
rs = LoginBean.executeQuery(sql);
int power=0;
int hpower=0;
int hfpower=0;
if (rs.next()) { power=rs.getInt("power");
hpower=rs.getInt("hpower");
}
rs.close(); hfpower=hpower*nstaytime/12;
int zpower=hfpower+power;
if (zpower>=hpower) {
hfpower=hpower-power;
} sql="update userdata set nstaytime="+ nstaytime +",power=power+"+ hfpower +" where UID="+ U_ID;
LoginBean.executeUpdate(sql); sql="update user1 set logintime=getdate(),cishu=cishu+1 where ID="+ U_ID;
LoginBean.executeUpdate(sql);
LoginBean.close();
response.sendRedirect("main.jsp"); }
else { out.println("用户名或密码错误!<a href='javascript:history.go(-1);'>返回</a>");
}
}
else { out.println("URL请求错误!");}
%>