求一段JAVA代码!!
就是一个用户注册的问题。用户在jsp页面上填写自己的用户名和密码,注册后把数据写入数据库表里。写一段代码,实现注册时不能提交与数据库里已存在的用户名相同的用户名。
用户那个表里设的id为主键,id是每注册一个用户便自动+1的。
就是在servlet里面写一段判断的代码,如果用户提交的用户名与数据库里的所有用户名都不相同,就转到registerSucceed.jsp页面。否则回到注册页面。
这是Servlet里的
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String doing = request.getParameter("doing");
UserManager userManager = new UserManager();
User user = new User();
user.setUserName(request.getParameter("userName"));
user.setUserPassword(request.getParameter("userPassword"));
user.setUserTel(request.getParameter("userTel"));
user.setUserEmail(request.getParameter("userEmail"));
userManager.storeUser(user);
String strUsername = request.getParameter("userName");
request.getRequestDispatcher("/registerSucceed.jsp").forward(
request, response);
其中storeUser()在类UserDao里:
public void storeUser(User user) {
String sql = "insert into users values(?,?,?,?,?)";
Connection con = OpreDatabase.getConnection();
try {
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, getRow());
ps.setString(2, user.getUserName());
ps.setString(3, user.getUserPassword());
ps.setString(4, user.getUserTel());
ps.setString(5, user.getUserEmail());
ps.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
我就是想在Servlet里添加一段判断代码,不让相同的用户名给写进去了。求这段代码。。高手帮帮忙啊。
参考答案:String sql=new String();
sql="select * from usertable where user='"+userid+"'and password='"+passid+"'";
ResultSet rs=stmt.executeQuery(sql);
int flag=1;
if(rs.next())
{ flag=0; }
rs.close();
if(flag==1)
{ sql="insert into usertable(user,....表的属性列) values (?,?,?,?,?)";
stmt.executeQuery(sql);
stmt.close(); }
usertable是表名,stmt是Statement的对象,userid是输入的用户名,passid是密码。
如果flag==0;则表示表中有那用户了。
我也有个问题,赏150分,也是JSP代码的,你去看看吧.