在web中实现简单的注册,登录功能

 a,首先编写好存储过程:

CREATE proc UserReg
(
 @UserName nvarchar(50),
 @UserRName nvarchar(50),
             @Password nvarchar(50),
 @UserAddress nvarchar(50),
 @ID int output
)
as
if not exists (select UserName from UserInfo where UserName = @UserName)
begin
 insert into Userinfo
  (
  UserName,
  UserRName,
  UserPassword,
  UserAddress
  )
 values
  (
  @UserName ,
  @UserRName ,
  @Password ,
  @UserAddress
  )
 
 set @ID = @@identity
end
else
begin
       set  @ID = -1
        print '该用户已经存在'
end
GO

CREATE PROCEDURE UserLogin
(
 @UserName nvarchar(50),
 @Password nvarchar(50)
)
as
select IsNull(UserID,0)as UserID from UserInfo 
where UserName = @UserName and [Password] = @Password
GO

b,新建类:zbj.cs

using System;
using System.Data;
using System.Data.SqlClient;

namespace _123
{
 /// <summary>
 /// zbj 的摘要说明。
 /// </summary>
 public class zbj
 {
  public static readonly string connstr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
  public SqlConnection conn;
  public SqlCommand cmd;
  public SqlDataReader dr;
  public SqlDataAdapter adapter;
  public DataSet ds ;
  public zbj()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  public class UserDetails
  {
   public string UserName;
   public string Password;
   public string RealName;
   public string Tele;
   public string Email;
   public string CardID;
   public string CodeID;
   public string Address;
  }
  public string AddUser(string UserName, string Password, string RealName, string Tele, string Email, string CardID, string CodeID, string Address)
  {
   conn = new SqlConnection(connstr);
   cmd = new SqlCommand("AddUser",conn);
   cmd.CommandType = CommandType.StoredProcedure;
   cmd.Parameters.Add(new SqlParameter("@UserName",SqlDbType.NVarChar,50));
   cmd.Parameters.Add(new SqlParameter("@Password",SqlDbType.NVarChar,50));
   cmd.Parameters.Add(new SqlParameter("@RealName",SqlDbType.NVarChar,50));
   cmd.Parameters.Add(new SqlParameter("@Tell",SqlDbType.NVarChar,50));
   cmd.Parameters.Add(new SqlParameter("@Email",SqlDbType.NVarChar,50));
   cmd.Parameters.Add(new SqlParameter("@CardID",SqlDbType.NVarChar,50));
   cmd.Parameters.Add(new SqlParameter("@ZipCode",SqlDbType.NVarChar,50));
   cmd.Parameters.Add(new SqlParameter("@Address",SqlDbType.NVarChar,50));

   cmd.Parameters[0].Value = UserName;
   cmd.Parameters[1].Value = Password;
   cmd.Parameters[2].Value = RealName;
   cmd.Parameters[3].Value = Tele;
   cmd.Parameters[4].Value = Email;
   cmd.Parameters[5].Value = CardID;
   cmd.Parameters[6].Value = CodeID;
   cmd.Parameters[7].Value = Address;

   SqlParameter parmId = new SqlParameter("@UserID",SqlDbType.Int,4);
   parmId.Direction = ParameterDirection.Output;
   cmd.Parameters.Add(parmId);
   try
   {
    conn.Open();
    cmd.ExecuteNonQuery();
    conn.Close();
    int UserId =(int)parmId.Value;
    return UserId.ToString();
   }
   catch(Exception error)
   {
    throw new Exception(error.Message,error);   --捕获异常有很多方法,在这里向大家介绍这一用法,主要是在 WebForm  和 Winform 中 通用!
    
   }
  }
  public string UserLogin(string UserName , string Password)
  {
   conn = new SqlConnection(connstr);
   cmd = new SqlCommand("UserLogin",conn);
   cmd.CommandType = CommandType.StoredProcedure;

   cmd.Parameters.Add("@UserName",SqlDbType.NVarChar,50);
   cmd.Parameters.Add("@Password",SqlDbType.NVarChar,50);

   cmd.Parameters[0].Value = UserName;
   cmd.Parameters[1].Value = Password;
   int UserId =0;
   try
   {
    conn.Open();
    dr = cmd.ExecuteReader();
    if( dr.Read())
    {
     UserId =(int)dr["UserID"];
    }
    conn.Close();
    
    if(UserId==0)
    {
     return null;
    }
    else
    {
     return UserId.ToString();
    }

   }
   catch(Exception error)
   {
    throw new Exception(error.Message,error);
   }

  }
 }
}

注册页面:zhuce.aspx

protected System.Web.UI.WebControls.TextBox txtPassword;
  protected System.Web.UI.WebControls.TextBox txtRealName;
  protected System.Web.UI.WebControls.TextBox txtTel;
  protected System.Web.UI.WebControls.TextBox txtMail;
  protected System.Web.UI.WebControls.TextBox txtCardID;
  protected System.Web.UI.WebControls.TextBox txtCodeID;
  protected System.Web.UI.WebControls.TextBox txtAddress;
  protected System.Web.UI.WebControls.Button btnOK;
  protected System.Web.UI.WebControls.Button btnCancel;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator6;
  protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator2;
  protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator5;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator4;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
  protected System.Web.UI.WebControls.TextBox txtUserName;

 

private void btnOK_Click(object sender, System.EventArgs e)---在出发之前将两按钮属性设置为:causesvalidation=true
  {

    if(Page.IsValid){
   zbj Info = new zbj();     --定义一个对象,调用zbj中的方法,这里类可以自己定义
   Info.AddUser(txtUserName.Text.Trim(),txtPassword.Text.Trim(),txtRealName.Text.Trim(),txtTel.Text.Trim(),txtMail.Text.Trim(),txtCardID.Text.Trim(),txtCodeID.Text.Trim(),txtAddress.Text.Trim());
   Response.Write("<script>alert('提交成功!');window.location.href='Index.aspx';</script>");
}
  }

  private void btnCancel_Click(object sender, System.EventArgs e)
  {
   Response.Redirect("zhuce.aspx");
  }

 

登录页面:Index.aspx

protected System.Web.UI.WebControls.TextBox txtUserName;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
  protected System.Web.UI.WebControls.TextBox txtPassword;
  protected System.Web.UI.WebControls.Button btnOK;
  protected System.Web.UI.WebControls.Button btnCancel;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;

private void btnCancel_Click(object sender, System.EventArgs e)
  {
   Response.Redirect("Index.aspx");
  }

  private void btnOK_Click(object sender, System.EventArgs e)
  {
   zbj Data = new zbj();
   if(Data.UserLogin(txtUserName.Text.Trim(),txtPassword.Text.Trim())!=null)--这里主要验证输入的值是否正确,然后做出响应的判断
   {
    Response.Write("<script>alert('登录成功!');window.location.href='Default.aspx';</script>");
   }
   else
   {
    Response.Write("<script>alert('登录失败!');window.location.href='Index.aspx';</script>");
   }
   
  }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值