<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<%@ include file="conn.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE1 {
font-size: 18px;
font-family: "华文行楷";
}
-->
</style>
</head><%
String name=(String)request.getParameter("name");
String pass=(String)request.getParameter("password");
String qrpass=(String)request.getParameter("qrpass");
String admin_name=""; Statement sts=conn.createStatement();
String sql1="select username from admin";
ResultSet rst=sts.executeQuery(sql1);
while(rst.next()){
admin_name=rst.getString(1);
if(name.equals(admin_name))
{
%>
<p> </p>
<p> </p>
<p> </p>
<table width="500" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#00CC99">
<tr>
<td height="30" bgcolor="#00CC99"> </td>
</tr>
<tr>
<td height="35">
<div align="center">该用户名已存在,请重新输入,<a href="reg.jsp">点此跳转回注册页面</a></div></td>
</tr>
</table>
<%
}
else{
String sql="insert into admin values('"+name+"','"+pass+"')";
int rs=st.executeUpdate(sql);
if(rs!=0){
out.println("注册成功");
}
else{
out.println("注册失败");
}
}
}
%>
</html>
想实现验证用户名是否存在、若不存在插入数据库、,以上代码有何问题、我找不出来啊
<%@ include file="conn.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
.STYLE1 {
font-size: 18px;
font-family: "华文行楷";
}
-->
</style>
</head><%
String name=(String)request.getParameter("name");
String pass=(String)request.getParameter("password");
String qrpass=(String)request.getParameter("qrpass");
String admin_name=""; Statement sts=conn.createStatement();
String sql1="select username from admin";
ResultSet rst=sts.executeQuery(sql1);
while(rst.next()){
admin_name=rst.getString(1);
if(name.equals(admin_name))
{
%>
<p> </p>
<p> </p>
<p> </p>
<table width="500" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#00CC99">
<tr>
<td height="30" bgcolor="#00CC99"> </td>
</tr>
<tr>
<td height="35">
<div align="center">该用户名已存在,请重新输入,<a href="reg.jsp">点此跳转回注册页面</a></div></td>
</tr>
</table>
<%
}
else{
String sql="insert into admin values('"+name+"','"+pass+"')";
int rs=st.executeUpdate(sql);
if(rs!=0){
out.println("注册成功");
}
else{
out.println("注册失败");
}
}
}
%>
</html>
想实现验证用户名是否存在、若不存在插入数据库、,以上代码有何问题、我找不出来啊
52: else{
53: String sql="insert into admin values('"+name+"','"+pass+"')";
54: int rs=st.executeUpdate(sql);
55: if(rs!=0){
56: out.println("注册成功");
57:
以及说主键必唯一、我设的用户名为主键、
判断用户存在,总得把那么传进去吧:
String sql1="select username from admin"+" where username='"+name+"'";
String sql1="select username from admin";
ResultSet rst=sts.executeQuery(sql1);
while(rst.next()){
admin_name=rst.getString(1);if(name.equals(admin_name))
{
你查询的用户名是很多的,那么你这个IF判断怎么可以让他直接等呢?这也是个“一对多”的问题啊!
[java-code]
while(rst.next()){
admin_name=rst.getString(1);
if(name.equals(admin_name))
{
hasSame = true ;
break;
}
}
if(hasSame){
//有相同的,就说已经存在
}else{
//插入
}
[/java-code]
不过建议LZ直接用当前的name查询,会更快些吧。就是3L说的那样
"select userName from tablename where userName = " + userName
如果查到有数据则提示用户不能重复添加同一个userName,如果没有查到该数据的话,就直接insert into ……