身份登陆(存储过程)

建一个存储过程

CREATE PROCEDURE Pr_GetUserLogin
(
    @UserName varchar(
200),
    @Password varchar(
255)
)
AS

SELECT
     UserID,RoleID

FROM
     [User]
     
WHERE
     UserName 
= @UserName AND Password = @Password

GO

定义一个方法获取数据,返回DataReader
 1 public SqlDataReader GetUserLogin(string sUserName, string sPassword)
 2        {
 3            ///定义类SQLHelper
 4            SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();
 5
 6            ///定义保存从数据库获取的结果的DataReader
 7            SqlDataReader dr = null;
 8
 9            ///创建访问数据库的参数            
10            SqlParameter[] paramList = {
11                                           sqlHelper.CreateInParam("@UserName",SqlDbType.VarChar,200,sUserName),
12                                           sqlHelper.CreateInParam("@Password",SqlDbType.VarChar,255,sPassword)
13                                       }
;
14
15            try
16            {
17                ///执行存储过程
18                sqlHelper.RunProc("Pr_GetUserLogin", paramList, out dr);
19            }

20            catch (Exception ex)
21            {
22                ///抛出执行数据库异常
23                SystemError.CreateErrorLog(ex.Message);
24                throw new Exception(ex.Message, ex);
25            }

26
27            ///返回从数据库获取的结果
28            return (dr);
29        }

前台代码
 1String userId = "";
 2
 3            ///定义类并获取用户的登陆信息            
 4            OfficeAutomatization.User user = new OfficeAutomatization.User();
 5            SqlDataReader recu = user.GetUserLogin(UserName.Text.Trim(),
 6                OfficeAutomatization.User.Encrypt(Password.Text.Trim()));
 7
 8            ///判断用户是否合法
 9            if (recu.Read())
10            {
11                userId = recu["UserID"].ToString();
12            }

13            recu.Close();
14
15            ///验证用户合法性,并跳转到系统平台
16            if ((userId != null&& (userId != ""))
17            {
18                Session["UserID"= userId;
19
20                //跳转到登录后的第一个页面
21                Response.Redirect("~/DesktopModules/Main.aspx");
22            }

23            else
24            {
25                sValidator = GetRandomint();
26                ValidateImage.ImageUrl = sValidatorImageUrl + sValidator;
27                ///显示错误信息
28                Message.Text = "你输入的用户名称或者密码有误,请重新输入!";
29            }

30        }
posted @ 2008-05-14 01:24  冷风醉饮  阅读(275)  评论(0)    收藏  举报