日期:2014-05-16 浏览次数:20352 次
1)写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
---------------------------------------------
在login.aspx中使用设计登陆界面 ,使用以上 存储过程。
Web.config:
<connectionStrings>
<add name="UserDB1conStr" connectionString="Data Source=PC_THINK-THINK;Initial Catalog=UserDB1;User ID=sa; Password=111111"/>
</connectionStrings>
login.aspx:
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())
{
//执行sql语句和执行存储过程最大的区别是,需要设置一个commandType
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);