基于存储过程的ASP.NET用户登录示例
2010-05-12 23:58
477 查看
-----------------存储过程
CREATE proc login
@user VARCHAR(20),
@pwd VARCHAR(20),
@Return BIT OUTPUT --输出参数
AS
-- 定义一个临时用来保存密码的变量
DECLARE @pwd2 VARCHAR(20)
BEGIN
--从表中查询当前用户的密码,赋值给 @pwd2 变量,下面要对他进行比较
SELECT @pwd2=pwd FROM user WHERE user=@user
IF @pwd2 = @pwd
BEGIN
SET @Return = 1
-- 更新用户最后登录时间
UPDATE user SET tim=GETDATE() WHERE user=@user
update user set num=num+1 where user=@user
END
ELSE
SET @Return = 0
END
GO
--------------login.aspx.cx中代码
protected void login_Click(object sender, ImageClickEventArgs e)
{
string sqlcn = "Data Source=.;Initial Catalog=dataname;Persist Security Info=True;User ID=sa;Password=556677";
SqlConnection conn = new SqlConnection(sqlcn);
conn.Open();
SqlCommand cmd = new SqlCommand("login", conn);
cmd.CommandType = CommandType.StoredProcedure; //选择存储过程
cmd.Parameters.Add("@user", SqlDbType.VarChar, 20);
cmd.Parameters.Add("@pwd", SqlDbType.VarChar, 20);
cmd.Parameters["@user"].Value = user.Text;
cmd.Parameters["@pwd"].Value = pwd.Text;
cmd.Parameters.Add("@Return",SqlDbType.Bit,2);
--------------------------------使用output value的方式获取存储过程执行结果
cmd.Parameters["@Return"].Direction=ParameterDirection.OutPut;
cmd.ExcuteNonQuery();//一定先执行,才可以获得@Return值
string return=cmd.Parameters["@Return"].Value.ToString();
-----------------------------------------------------------
cmd.Parameters["@Return"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
bool flag = Convert.ToBoolean(cmd.Parameters["@Return"].Value);
if(flag)
Response.Redirect("index.aspx");
else
Response.Write("用户名或密码错误"); }
CREATE proc login
@user VARCHAR(20),
@pwd VARCHAR(20),
@Return BIT OUTPUT --输出参数
AS
-- 定义一个临时用来保存密码的变量
DECLARE @pwd2 VARCHAR(20)
BEGIN
--从表中查询当前用户的密码,赋值给 @pwd2 变量,下面要对他进行比较
SELECT @pwd2=pwd FROM user WHERE user=@user
IF @pwd2 = @pwd
BEGIN
SET @Return = 1
-- 更新用户最后登录时间
UPDATE user SET tim=GETDATE() WHERE user=@user
update user set num=num+1 where user=@user
END
ELSE
SET @Return = 0
END
GO
--------------login.aspx.cx中代码
protected void login_Click(object sender, ImageClickEventArgs e)
{
string sqlcn = "Data Source=.;Initial Catalog=dataname;Persist Security Info=True;User ID=sa;Password=556677";
SqlConnection conn = new SqlConnection(sqlcn);
conn.Open();
SqlCommand cmd = new SqlCommand("login", conn);
cmd.CommandType = CommandType.StoredProcedure; //选择存储过程
cmd.Parameters.Add("@user", SqlDbType.VarChar, 20);
cmd.Parameters.Add("@pwd", SqlDbType.VarChar, 20);
cmd.Parameters["@user"].Value = user.Text;
cmd.Parameters["@pwd"].Value = pwd.Text;
cmd.Parameters.Add("@Return",SqlDbType.Bit,2);
--------------------------------使用output value的方式获取存储过程执行结果
cmd.Parameters["@Return"].Direction=ParameterDirection.OutPut;
cmd.ExcuteNonQuery();//一定先执行,才可以获得@Return值
string return=cmd.Parameters["@Return"].Value.ToString();
-----------------------------------------------------------
cmd.Parameters["@Return"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
bool flag = Convert.ToBoolean(cmd.Parameters["@Return"].Value);
if(flag)
Response.Redirect("index.aspx");
else
Response.Write("用户名或密码错误"); }
相关文章推荐
- asp.net -mvc框架复习(7)-基于MVC搭建用户登录项目框架
- 在ASP.NET AJAX中使用应用程序服务和本地化(2):示例程序:实现用户登录和注销
- asp.net 实现用户登录和注册——基于webform模式
- ASP.NET Core中实现用户登录验证的最低配置示例代码
- asp.net -mvc框架复习(11)-基于三层架构与MVC实现完整的用户登录
- ASP.NET调用存储过程验证用户登录
- ASP .NET登录界面用户验证码代码
- [导入]Asp.net中防止用户多次登录的方法[转载]
- c# 实现网页上用户自动登陆|asp.net 模拟网站登录
- Asp.net中实现同一用户名不能同时登录(单点登录)
- ASP.NET MVC下判断用户登录和授权的方法
- Asp.net中防止用户多次登录的方法
- ASP.NET MVC 企业级实战 —— 创建用户权限管理示例程序(一)
- 轻松解决asp.net用户ASPNET登录失败问题的方法分享
- N久前写的一个基于1.1的ASP.NET登录复合控件
- ASP.NET防止用户多次登录的方法
- 在ASP.NET AJAX中使用应用程序服务和本地化(4):示例程序:读取、修改并保存用户个性化信息
- asp.net 用户登录安全防范
- asp.net用户ASPNET登录失败的问题
- Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载).NET技术