注册 登录
编程论坛 J2EE论坛

用户注册代码的小问题,请看下!

叶天兵 发布于 2005-11-11 14:09, 1565 次点击

String sqls=" SELECT * FROM associator WHERE 用户名='"+username+"'";
String sqli=" INSERT INTO associator(用户名,密码,电子邮件,真实姓名,性别,年龄,个人主页,自我介绍) VALUES('"+username+"','"+password+"','"+email+"','"+name+"','"+sex+"','"+age+"','"+homepage+"','"+intro+"')";
ResultSet rs =login.executeQuery(sqls);
if(rs.isLast()) {
rs.close();
session.setAttribute("error","用户名已被注册");
//用户已经注册。
%><jsp:forward page="login.jsp"/><%
}else{
int temp=login.executeUpdate(sqli);
String strUsername=request.getParameter("username");
session.setAttribute("ok",strUsername+"您好,恭喜您注册成功");
response.sendRedirect("success.jsp");

}

%>判断用户已经注册,怎么实现不了,还有我的javaBean 中 查询函数是public ResultSet executeQuery()
更新是public int executeUpdate()

4 回复
#2
jeremydomett2005-11-12 12:56
你在 executeUpdate 方法中 输出一下传过来的 sql 语句,
看看是不是有乱码.
传递中文 很有可能是乱码..
#3
wyq032005-11-19 18:26

我不明白楼主为什么这样写!!不过看看后,第一感觉就是代码过于烦琐!!第二,你这种插入方法已经很过时.这样写是有很多问题的...

 我的建议:  使用PreparedStatement .
// Connection con=DriverManager.getConnection("","","")这个我不用解释了吧
  PreparedStatement  login=con.preparedStatement("INSERT INTO associator(用户名,密码,电子邮件,真实姓名,性别,年龄,个人主页,自我介绍) VALUES(?,?,?,?,?,?,?,?)";)

login.setString(1,username);

login.setString(2,password);

...........................

login.setString(8,intro)

boolean aa=login.execute()

if(aa=true)
{System.out.println("true");

String strUsername=request.getParameter("username");
session.setAttribute("ok",strUsername+"您好,恭喜您注册成功");

}
else{System.out.println("false");
session.setAttribute("error","用户名已被注册");

}

这是我的建议,当然,肯定有很多不足....希望可以得到谅解!

#4
zhai26511732005-11-20 10:37
顶一下了..
#5
zhai26511732005-11-20 10:38
顶了
1