2023年6月21日发(作者:)

内容:

目前,验证用户登录身份的方法有多种,而通过调用存储过程来实现用户身份验证是目前最好的解决方案之一。因为存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句要快得多。

本实例是通过调用存储过程来验证用户登录的用户名和密码是否正确。运行本实例,在“用户名”和“密码”文本框中输入相应的用户名和密码,单击“登录”按钮即可。

程序开发步骤:

(1)新建一个网站,将其命名为18_02,默认主页名为。

(2)页面涉及到的控件。

打开SQL Server Management Studio,并连接到SQL Server2005中的数据库。新建查询编辑器。在该查询编辑器中,创建验证登录用户身份的存储过程PROC_EXISTS,具体的SQL语句如下:

CREATE PROC PROC_EXISTS

(

@UserName NVARCHAR(20),

@PassWord NVARCHAR(20),

@ReturnValue int OUTPUT

)

AS

IF EXISTS(select * from tb_member where userName=@UserName AND passWord=@PassWord)

set @ReturnValue= 100

ELSE

set @ReturnValue= -100

GO

在【登录】按钮的Click事件下,执行验证登录用户身份的存储过程,如果输入的用户名和密码正确,则弹出对话框提示用户登录成功,代码如下:

protected void btnLogin_Click(object sender, EventArgs e)

{

//连接数据库

myConn = new SqlConnection(tings["ConnectionString"].ToString());

myCmd = new SqlCommand("PROC_EXISTS", myConn); //调用存储过程,判断用户是否存在

dType = Procedure;

//为存储过程的参数赋值

SqlParameter userName=new SqlParameter("@UserName", ar, 20);

=();

(userName);

SqlParameter passWord=new SqlParameter("@PassWord", ar, 20);

= ();

(passWord);

//指出该参数是存储过程的OUTPUT参数

SqlParameter ReturnValue = new SqlParameter("@ReturnValue", ,4);

ion = ;

(ReturnValue);

try {

();

eNonQuery();

if ((ng()) == 100)

{

("");

return;

}

else

{

("");

return;

}

}

catch(Exception ex)

{

(ng());

}

finally

{

();

e();

e();

}}

:后台代码

2023年6月21日发(作者:)

内容:

目前,验证用户登录身份的方法有多种,而通过调用存储过程来实现用户身份验证是目前最好的解决方案之一。因为存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句要快得多。

本实例是通过调用存储过程来验证用户登录的用户名和密码是否正确。运行本实例,在“用户名”和“密码”文本框中输入相应的用户名和密码,单击“登录”按钮即可。

程序开发步骤:

(1)新建一个网站,将其命名为18_02,默认主页名为。

(2)页面涉及到的控件。

打开SQL Server Management Studio,并连接到SQL Server2005中的数据库。新建查询编辑器。在该查询编辑器中,创建验证登录用户身份的存储过程PROC_EXISTS,具体的SQL语句如下:

CREATE PROC PROC_EXISTS

(

@UserName NVARCHAR(20),

@PassWord NVARCHAR(20),

@ReturnValue int OUTPUT

)

AS

IF EXISTS(select * from tb_member where userName=@UserName AND passWord=@PassWord)

set @ReturnValue= 100

ELSE

set @ReturnValue= -100

GO

在【登录】按钮的Click事件下,执行验证登录用户身份的存储过程,如果输入的用户名和密码正确,则弹出对话框提示用户登录成功,代码如下:

protected void btnLogin_Click(object sender, EventArgs e)

{

//连接数据库

myConn = new SqlConnection(tings["ConnectionString"].ToString());

myCmd = new SqlCommand("PROC_EXISTS", myConn); //调用存储过程,判断用户是否存在

dType = Procedure;

//为存储过程的参数赋值

SqlParameter userName=new SqlParameter("@UserName", ar, 20);

=();

(userName);

SqlParameter passWord=new SqlParameter("@PassWord", ar, 20);

= ();

(passWord);

//指出该参数是存储过程的OUTPUT参数

SqlParameter ReturnValue = new SqlParameter("@ReturnValue", ,4);

ion = ;

(ReturnValue);

try {

();

eNonQuery();

if ((ng()) == 100)

{

("");

return;

}

else

{

("");

return;

}

}

catch(Exception ex)

{

(ng());

}

finally

{

();

e();

e();

}}

:后台代码