English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我在SQL server2000中已經寫好的預存程序
需要輸入兩個參數
我要如何在ASP中呼叫這樣的參數
並且將搜尋出來的東西
列表出來呢?

能否給我完整的範例程式

2006-02-20 10:57:53 · 2 個解答 · 發問者 淺倉 4 in 電腦與網際網路 程式設計

2 個解答

如果你的預存程序有傳回值,又有一個RecordSet
Create Procedure dbo.SumTwo
(@VAL1 int,@VAL2 int, @return int output)
As
set @return = @VAL1 + @VAL2
select * from Table where total = @return
Go

你還可以有另一種寫法,是用ADODB的Command物件

 Set comm = Server.CreateObject("ADODB.Command")
 sql = "SumTwo"
 With comm
  Set .ActiveConnection = Conn
  .CommandText = sql
  .CommandType = 4  '4 代表呼叫預存程序
 End With

 set param = comm.Parameters
 param.Append comm.CreateParameter("VAL1", 3, 1) '3代表int, 如果是varchar用8
 param.Append comm.CreateParameter("VAL2", 3, 1)'而最後面的參數1代表input, 2為output
 param.Append comm.CreateParameter("return", 3, 2)
'注意你的參數宣告要按它在預存程序中的次序, 像VAL1後才是VAL2
comm("VAL1") = 1
comm("VAL2") = 5

set rs = comm.Execute()
return = comm("return")

這裡有比較完整的參考,你可以查到那些數字參數所代表的意思
http://www.devguru.com/technologies/ado/home.asp

2006-02-20 07:11:22 · answer #1 · answered by 傳加之楓 4 · 0 0

假設您的 Store Procedure 如下
Create Procedure dbo.Getdata
@USERNAME varchr(30),@ID_NUMBER varchar(10)
As
Select * From USERDATA Where UNAME=@USERNAME And IDNUM=@ID_NUMBER

建立一個資料庫連線 conn
Dim adoRS
Dim SQLstmt
SQLstmt="Getdata 'Brues','A123456789' "
adoRS.Open SQLstmt,conn,3,1

2006-02-20 01:07:16 · answer #2 · answered by 憂鬱到不行 2 · 0 0

fedest.com, questions and answers