日期:2014-05-20  浏览次数:20476 次

验证用户名是否注册的后台代码?
我初学ASP.NET,判断用户名是否被抢注的代码该怎么写啊?20分相送!

------解决方案--------------------
protected void Button1_Click(object sender, EventArgs e)
{
string UserNameCode = UserName.Text;
string connStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source= " + Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings[ "MyDataBase "].ToString());
OleDbConnection conn = new OleDbConnection(connStr);
string sqlStr = "select UserName from UserInfo where UserName= ' " + UserNameCode + " ' ";
OleDbCommand cmmd = new OleDbCommand(sqlStr, conn);
conn.Open();
OleDbDataReader dr = cmmd.ExecuteReader();
if (dr.Read())
{
//Session[ "result "] = dr[ "UserName "].ToString();
Response.Redirect( "SearchPswSecond.aspx?UserName= " + dr[ "UserName "].ToString());
}
else
{
Message.Text= "此用户名不存在! ";
//Response.End();
}
conn.Close();
}
------解决方案--------------------
你可以添加一个自定义验证控件(CustomValidator),在里面写代码,代码里面查找用户名,结果> 0就是占用,=0就是空。
------解决方案--------------------
CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 事件大于0返回
args.IsValid = false
------解决方案--------------------
还不细啊,
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
   string name=args.value;
/* SQL查找这个用户数据*/
判断返回的记录数,> 0就返回args.IsValid = false,反之就是返回True;
  }
控件里的ErrorMessage填上 "用户名存在 "
这样可以了吧。

------解决方案--------------------
可以用存储过程写在数据库
If not exists(select * from table where id=@id) --判断有没有
begin
set @org=0
insert ......
end
else
set @arg=1
根据返回的@org判断注册是否成功