sql的存储过程和asp怎么调用sql的存储过程

--SQL code

Create PROCEDURE User_Login
@username varchar(50),
@password varchar(50),
@userreturn BIT OUTPUT
AS
DECLARE @strPwd NVARCHAR(20)
select @strPwd=***_pass_word from fs_mf_*** where ***_name=@username
IF @password=@strPwd
SET @userreturn=1
ELSE
SET @userreturn=0
GO

 

 

//C#

string UserName = txtUserName.Text.ToString(); 
       
string PassWord = txtPassWord.Text.ToString(); 
        PassWord
= FormsAuthentication.HashPasswordForStoringInConfigFile(PassWord, "md5").ToLower().Substring(8, 16); 
        SqlParameter[] par
= new SqlParameter[3]; 
        par[
0] = new SqlParameter("@username", SqlDbType.VarChar, 50); 
        par[
0].Value = UserName; 
        par[
1] = new SqlParameter("@password",SqlDbType.VarChar,50); 
        par[
1].Value = PassWord; 
        par[
2] = new SqlParameter("@userreturn", SqlDbType.Int, 4) ; 
        par[
2].Direction = ParameterDirection.Output; 
        SqlDataReader sdr
= SqlHelper.ExecuteReader(SqlHelper.sqlstring, CommandType.StoredProcedure, "User_Login",par); 
       
int fhz = Convert.ToInt32(par[2].Value); 
        Label1.Text
=fhz.ToString(); //这里作一下判断就好了

--SQL code

----ASP调用存储过程的方法
--
--调用存储过程的方法需要使用ADO的Command对象。Command对象是对一个数据源运行特定命令的定义(例如,一个SQL查询或一个SQL存储过程)。下面以MSSQLSERVER6.5为后台数据库,介绍ASP调用存储过程的方法。
--
--例如,在表User中保存了用户名和密码,现在建立一个检查密码的存储过程sp_CheckPass来检查用户是否输入了合法的密码。建立存储过程,可以从MicrosoftSQLSever程序组中启动ISQL/w,然后在查询窗口中输入存储过程:
/*存储过程例程*/
CREATEPROCEDUREsp_CheckPass
@CHKNameVARCHAR(30),@CHKPass
VARCHAR(30),@ISValidCHAR(8)OUTPUT  
AS
IFEXISTS(SELECTUserNameFROMUsers
WHEREUserName
=@CHKNameANDUserPwd=@CHKPass)
SELECT@ISVaid="pass"
ELSE
SELECT@ISValid="Invalid"
----存储过程接收两个输入参数,输入参数@CHKaName向存储过程传递一个用户名,@CHKPass向存储过程传递一个密码,如果有用户拥有指定的密码,输出参数将返回"pass",否则,返回"Invalid"。
--
--现在我们可以在CheckPass.asp中调用存储过程sp_CheckPass了。
CheckPass.asp

"ADOVBS.inc"--
>
''包含VBSCRIPT的常量定义文件
<
SetDataConn
=Sever.CreateObject
("ADODB.Connection")
''建立连接对象
Dataconn.
Open"DSN=user;SERVER=APP_SERVER;
UID
=sa;PWD=;APP=Microsoft(R)DeveloperStudio;
WSID
=APP_SERVER;Regional=Yes"
SetcmdTemp
=Sever.CreateObject
("ADODB.Command")
''建立命令对象
SetcmdTemp.ActiveConnection
=DataConn
cmdTemp.CommandType
=adCMdStoredProc
''指定要执行的是一个存储过程
cmdTemp.CommandText
="sp_CheckPass"
''存储过程名称
Set tmpFirstParam=cmdTemp.CreateParameter
("UserName",adVarChar,adParamIntput,
30)
''创建输入参数对象
cmdTemp.Parameters.Append.tmpFirstParam
''把参数加到参数集合
SettmpSecondParam
=cmdTemp.CreateParameter
("UserPwd",adVarChar,adParamInput,
30)
cmdTemp.ParaMeters.AppendtmpSecondParam
SettmpThirdParam
=cmdTemp.CreateParameter
("RetValue",adChar,adParamOutput,
8)
''创建返回参数对象
cmdTemp.Parameters.AppendtmpThirdParam
cmdTemp("UserName")
=Request.FORM("UserName")
''取得输入参数
cmdTemp("UserPwd")
=Request.FORM("UserPwd")
cmdTemp.
Execute''执行存储过程
>
TheCheckResultis
<=cmdTemp("RetValue")%>
''输出返回值
<
DataConn.
Close''关闭数据库连接%>


http://topic.csdn.net/u/20091203/11/b7214c94-f8a9-4897-87a7-031d69d9b1fc.html?20832

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值