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 = "登陆失败!";
}
}
}
}
--------------------------------