sql的儲存過程和asp怎麼呼叫sql的儲存過程

2021-05-12 19:47:48 字數 3779 閱讀 8117

--sql code

create

procedure

user_login

@username

varchar(50

), @password

varchar(50

), @userreturn

bitoutput

asdeclare

@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); 

intfhz

=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  

asifexists(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==

sa;pwd==

microsoft(r)developerstudio;

wsid==

yes"

setcmdtemp

=sever.createobject

("adodb.command")

''建立命令物件

setcmdtemp.activeconnection

=dataconn

cmdtemp.commandtype

=adcmdstoredproc

''指定要執行的是乙個儲存過程

cmdtemp.commandtext

="sp_checkpass"

''儲存過程名稱

settmpfirstparam

=cmdtemp.createparameter

("username",advarchar,adparamintput,30)

''''

把引數加到引數集合

settmpsecondparam

=cmdtemp.createparameter

("userpwd",advarchar,adparaminput,30=

cmdtemp.createparameter

("retvalue",adchar,adparamoutput,8)

''=request.form("username")

''取得輸入引數

cmdtemp("userpwd")

=request.form("userpwd")

cmdtemp.

execute

''執行儲存過程

%>

thecheckresultis

<%=

cmdtemp("retvalue")%

>

''輸出返回值

<

%dataconn.

close

''關閉資料庫連線%

asp 存貯過程 SQL版asp呼叫儲存過程

存貯過程 sql樣版 今天發個sql存貯過程給大家認識 複製 如下 create procedure login verify community id int,拿值 username varchar 20 password varchar 40 result tinyint output as s...

儲存過程調儲存過程的事務

直接上 是在包裡寫的儲存過程,要測試的話,要先寫宣告 宣告procedure test1 p retcode in out varchar2,p retinfo in out varchar2 procedure test2 p retcode in out varchar2,p retinfo i...

JDBC MYSQL 儲存函式和儲存過程的呼叫

最近要學習資料庫,在用jdbc呼叫儲存過程和儲存函式是出現了小麻煩。在mysql中,用jdbc呼叫儲存過程和儲存函式還是有一些不同的。一,用jdbc呼叫儲存過程一般過程如下 string sql call proc callablestatement cstmt con.preparecall sq...