java1996 2016-11-17 08:58 采纳率: 0%
浏览 1195

注册时查询用户名是否重复,出错了,求解决

<%@page import="com.sun.corba.se.spi.orbutil.fsm.Guard.Result"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ page import= "edu.jmi.db.*" %>
<%@ page import= "edu.jmi.dao.*" %>
<%@ page import= "edu.jmi.model.*" %>
<%@ page import= "java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



Insert title here



<%
String str =null;
//1设置解码
request.setCharacterEncoding("utf-8");
//2获取参数
str=request.getParameter("name");
String str1=request.getParameter("password");
String str2=request.getParameter("password2");
String str3=request.getParameter("mail");
System.out.println(str+str1+str2+str3);
if(str==null){//如果初次加载页面,直接返回,不会执行下面存取数据库的代码
//return;
}else{

//3存取数据库
//3.1获取数据库链接
Connection conn=DB.getConnection();
//3.2准备插入sql语句
String sql2="select count(*) from table where column='?'";
PreparedStatement pst2=conn.prepareStatement(sql2);
pst2.setString(1,str);
if(count!=0){
session.setAttribute("errmsg2", "用户名已存在,请重新输入");
}else{
String sql="insert into user(name,password,email) values(?,?,?)";
PreparedStatement pst=conn.prepareStatement(sql);//执行sql语句
// pst.setInt(1,1); //id
pst.setString(1,str);//name
pst.setString(2,str1);//pass
pst.setString(3,str3);//email

if(str1.equals(str2)){
    //3.3执行插入
    int res=pst.executeUpdate();
    System.out.println("插入结果是:"+res);
    pst.close();
    conn.close();
    session.setAttribute("usr", str);
    response.sendRedirect("regok.jsp"); 
}else{
    session.setAttribute("errmsg", "密码和确认密码不一致");
} 
String err = (String)session.getAttribute("errmsg");
if(err==null){
      err="";
  } 
String err2 = (String)session.getAttribute("errmsg2");
if(err2==null){
      err2="";
  } 
}
}

%>
<%=session.getAttribute("errmsg") %>
<%=session.getAttribute("errmsg2") %>

用户名:

密码:

确认密码:

邮箱:



我想在执行注册前先查询数据表里用户名出现的次数,如果次数不为0则给提示,不执行之后的操作,但是查询次数的语句好像出错了,求大神
String sql2="select count(*) from table where column='?'";
PreparedStatement pst2=conn.prepareStatement(sql2);
pst2.setString(1,str);
if(count!=0){
session.setAttribute("errmsg2", "用户名已存在,请重新输入");
}else{
}

    if(count!=0)这个报错了求解决
  • 写回答

4条回答 默认 最新

  • 银尘_ 2016-11-17 09:09
    关注

    去找大神,这个论坛很多大神的

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘