C# 网站注册,怎样去验证用户名已经存在

justwqq 2009-04-09 08:02:40
我网站注册的用户都已经放进了User数据库,怎样在下次注册时检查数据库中的用户名是否已经存在?
...全文
4547 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ernset 2012-10-27
  • 打赏
  • 举报
回复
当然要去数据库里查询一下这个帐号是否存在咯。。
liangchengfck1 2012-10-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
在保存到数据库之前先查一下数据库

string sql = "select count(*) from [user] where username = '"+username.Text+"'";
int count = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.Conn, CommandType.Text, sql));
if (……
[/Quote]
count
number1170196649 2012-08-22
  • 打赏
  • 举报
回复
我现在需要检查的是用户名是否已存在。不存在的时候给出提示。如果存在则允许注册!使用Ajax如何做到?
wsd632927172 2012-08-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

在保存到数据库之前先查一下数据库

string sql = "select count(*) from [user] where username = '"+username.Text+"'";
int count = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.Conn, CommandType.Text, sql));
if ……
[/Quote]

请问这个executescalar怎么用,sqlhelper.conn是什么
wholesale3151 2009-12-21
  • 打赏
  • 举报
回复
string sql = "select count(*) from [user] where username = '"+username.Text+"'";
int count = Convert.ToInt32(chinese wholesalers
ugg.ExecuteScalar(SqlHelper.Conn, CommandType.Text, sql));
if (count > 0)
Pro_ah 2009-12-19
  • 打赏
  • 举报
回复
如果是用LINQ做,先在业务层写一方法:
public Users GetUserByName(string name)
{
using (CompaneyDataDataContext mb = new CompaneyDataDataContext())
{
var q = from c in mb.Users
where c.User_Name == name
select c;
if (q.Count() > 0)
return q.First();
else
return null;
}
}

然后调用该方法:(例如)
if (bu.GetUserByName(txtName.Text) == null)
{
if (bu.addUser (oneuser))
{
fuImage.SaveAs(Server.MapPath("./") + "/images/" + imageurl);

Response.Write("<script>alert('注册成功');window.location.href='Default.aspx'</script>");
}
else
{
Response.Write("<script>alert('注册失败')</script>");
}
}
else
{
Response.Write("<script>alert('该用户已经存在,请更换用户名,再次添加')</script>");
}
rong505968 2009-10-16
  • 打赏
  • 举报
回复
基本思路:先检查用户名,看用户名是否有存在,然后再根据用户名与密码,再检查密码是否已经存在,如果都存在,则表明用户名登陆成功。
yankunlin 2009-08-30
  • 打赏
  • 举报
回复
学习了..........
礼拜六 2009-08-28
  • 打赏
  • 举报
回复
写错了是Servlet 注册处理并非Servlet 登录处理
礼拜六 2009-08-28
  • 打赏
  • 举报
回复
在数据层:

public Connection con=null;
public PreparedStatement ps=null;
public ResultSet rs=null;

/**注册添加**/
public int addUsers(Users user) {
// TODO Auto-generated method stub
int num=0;
try {
String sql="insert into Users values(?,?,?)";
con=BaseDao.getCon();
ps=con.prepareStatement(sql);
ps.setString(1, user.getUserName());
ps.setString(2, user.getPassword());
ps.setInt(3, user.getStatus());
num=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
BaseDao.closeCon(rs, ps, con);
}
return num;
}

/**检查要注册新用户名是否已经存在**/
public Users findUsers(String name) {
// TODO Auto-generated method stub
Users user=null;
try {
String sql = "select * from Users where userName=?";
con = BaseDao.getCon();
ps = con.prepareStatement(sql);
ps.setString(1, name);
rs = ps.executeQuery();
if (rs.next()) {
user = new Users();
user.setUsersID(rs.getInt("userID"));
user.setUserName(rs.getString("userName"));
user.setStatus(rs.getInt("status"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
BaseDao.closeCon(rs, ps, con);
}
return user;
}

在中间层(Servlet 登录处理):

Users user=new Users();
Users users=new Users();

String name=request.getParameter("uName");
String pass=request.getParameter("uPass1");

user.setUserName(name);
user.setPassword(pass);
user.setStatus(0);

List list=new ArrayList();

users=DaoFactory.getUserInstane().findUsers(name); //查找要注册用户是否存在
//DaoFactory是工厂名称
if(users==null)
{
int num=factory.getUserInstane().addUsers(user);
if(num==1)
{
user=factory.getUserInstane().isLogin(user);
if(application.getAttribute("login_users")!=null)
{
list=(List)application.getAttribute("login_users");
}
list.add(user);
application.setAttribute("login_users",list);
out.print("<script>alert(' 恭喜你,注册成功!');location.href='index.jsp';</script>");
session.setAttribute("login_user", user);
}
else
{
out.print("<script>alert(' 对不起,系统繁忙,请稍后再试!');location.href='index.jsp';</script>");
}
}
else
{
out.print("<script>alert(' 该用户已经存在!');location.href='register.jsp';</script>");
}

tkx182 2009-08-20
  • 打赏
  • 举报
回复
查询一下,存不存在要注册的用户名。
wangjinchang 2009-08-18
  • 打赏
  • 举报
回复
用ajax比较好:异步数据处理:

<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function CheckUserName()
{
var us=document.getElementById("txtname").value;
if(us!="")
{
createXMLHttpRequest();
var url= "RegistValidate.ashx?username="+escape(document.getElementById("txtname").value);
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=ShowResult;
xmlHttp.send(null);
}
}
function ShowResult()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
var s;
s=xmlHttp.responseText;
alert(s);
}
}
}
</script>
Hemingway718 2009-05-20
  • 打赏
  • 举报
回复
UP
wuyq11 2009-04-09
  • 打赏
  • 举报
回复
ajax异步获取数据,查询用户数据
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function CheckUserName()
{
var us=document.getElementById("txtname").value;
if(us!="")
{
createXMLHttpRequest();
var url= "RegistValidate.ashx?username="+escape(document.getElementById("txtname").value);
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=ShowResult;
xmlHttp.send(null);
}
}
function ShowResult()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
var s;
s=xmlHttp.responseText;
alert(s);
}
}
}
</script>
AuC 2009-04-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sy_binbin 的回复:]
在保存到数据库之前先查一下数据库

string sql = "select count(*) from [user] where username = '"+username.Text+"'";
int count = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.Conn, CommandType.Text, sql));
if (count > 0)
flag = true;'存在
else
flag = false;'不存在
[/Quote]

就把这个验证的代码封装成一个方法
可以在旁边 放一个按钮 调用这个方法就行了
还有提交注册按钮的时候也可以调用这个方法
jdbcodbc 2009-04-09
  • 打赏
  • 举报
回复
就是登陆的时候去查询数据库有没这个值,楼上的都可以
doniel 2009-04-09
  • 打赏
  • 举报
回复
在textbox_textchanged事件那里写入一个查询数据库的代码(没有问题吧?就像登录那样验证是否存在该用户一样)。然后如果能查询得到,刚用一个Label显示出该用户名已经注册了...
sy_binbin 2009-04-09
  • 打赏
  • 举报
回复
在保存到数据库之前先查一下数据库

string sql = "select count(*) from [user] where username = '"+username.Text+"'";
int count = Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.Conn, CommandType.Text, sql));
if (count > 0)
flag = true;'存在
else
flag = false;'不存在
sxmonsy 2009-04-09
  • 打赏
  • 举报
回复
查用户名看有没有值.select * from user where username=用户名

1,978

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧