温故知新-- 在webform(网页)中登陆,写出登陆的存储过程usp_Login,并使用

来源:互联网 发布:淘宝充值流量怎么查询 编辑:程序博客网 时间:2024/04/30 20:30
usp_Login存储过程,参数有三个,其中第三个参数为output,用来返回登陆是否成功,成功1,失败0( @uname varchar(50), @password varchar(50), @result bit output)

SQL Server存储过程:
数据库名:UserDB1 表名:T_Users
create proc usp_Login
@uname varchar(50),
@Password varchar(50),
@result bit output
as 
begin
declare @count int
set @count=(select COUNT(*) from T_Users where FuserName=@uname and FPassword=@password)
if @count>0
begin 
set @result=1
end
else
begin
set @result=0
end
end



--------------------Web.config:--------------
<connectionStrings>
<add name="UserDB1conStr" connectionString="Data Source=.;Initial Catalog=UserDB1;User ID=sa; Password=111111"/>
</connectionStrings>


Login.aspx前台:
<body>
    <form id="form1" runat="server">
    <div>
    
        用户名:<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
        <br />
        密码:<asp:TextBox ID="txtPassWord" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="btnLogin" runat="server" Text="登录" />
        <br />
        <asp:Label ID="Label1" runat="server"></asp:Label>
        <br />
    </div>
    </form>
</body>


login.aspx.cs后台:
protected void btnLogin_Click(object sender, EventArgs e)
{
string username = txtUserName.Text;
string password = txtPassWord.Text;
string UserConstr = ConfigurationManager.ConnectionStrings["UserDB1conStr"].ConnectionString;
using(SqlConnection conn = new SqlConnection(UserConstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandType = CommandType.StoredProcedure;
string sp_name = "usp_Login";
cmd.CommandText = sp_name;
SqlParameter prm1 = new SqlParameter("@uname", username);
SqlParameter prm2 = new SqlParameter("@password", password);
SqlParameter prm3 = new SqlParameter("@result", System.Data.SqlDbType.Bit);
cmd.Parameters.Add(prm1);
cmd.Parameters.Add(prm2);
cmd.Parameters.Add(prm3);
prm3.Direction = ParameterDirection.Output;
using (SqlDataReader reader = cmd.ExecuteReader())
{ }
bool b = Convert.ToBoolean(prm3.Value);
if (b)
{
Label1.Text = "登陆成功!";
}
else
{
Label1.Text = "登陆失败!";
}
}
}
}

--------------------------------