解析ASP與存儲過程(4)_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:解析ASP中的常用服務器檢測源碼
      在寫ASP網頁時常用的檢測代碼: 服務器現在時間: 引用 % =now %> 服務器CPU型號: 引用 %=Request.ServerVariables(HTTP_UA_CPU)%> 當前分辨率: 引用 &l

      對于返回值,只能取整形,且-1到-99為保留值;

      第三個參數(4),表明參數的性質,此處4表明這是一個返回值。此參數取值的說明如下:

      0 : 類型無法確定; 1: 輸入參數;2: 輸入參數;3:輸入或輸出參數;4: 返回值

      以上給出的ASP代碼,應該說是完整的代碼,也即最復雜的代碼,其實

      以下為引用的內容:

      Set Mypara = MyComm.CreateParameter("RETURN",2,4)
      MyComm.Parameters.Append MyPara

      可以簡化為

      以下為引用的內容:

      MyComm.Parameters.Append MyComm.CreateParameter("RETURN",2,4)

      甚至還可以繼續簡化,稍后會做說明。

      對于帶參數的存儲過程,只能使用Command對象調用(也有資料說可通過Connection對象或Recordset對象調用,但我沒有試成過)。


      4. 有輸入參數和輸出參數的存儲過程

      返回值其實是一種特殊的輸入參數。在大多數情況下,我們用到的是同時有輸入及輸出參數的存儲過程,比如我們想取得用戶信息表中,某ID用戶的用戶名,這時候,有一個輸入參數----用戶ID,和一個輸出參數----用戶名。實現這一功能的存儲過程如下:

      以下為引用的內容:

      /*SP4*/
      CREATE PROCEDURE dbo.getUserName
      @UserID int,
      @UserName varchar(40) output
      as
      set nocount on
      begin
      if @UserID is null return
      select @UserName=username
      from dbo.[userinfo]
      where userid=@UserID
      return
      end
      go

      調用該存儲過程的ASP代碼如下:

      以下為引用的內容:

      '**調用帶有輸入輸出參數的存儲過程**
      DIM MyComm,UserID,UserName
      UserID = 1
      Set MyComm = Server.CreateObject("ADODB.Command")
      MyComm.ActiveConnection = MyConStr 'MyConStr是數據庫連接字串
      MyComm.CommandText = "getUserName" '指定存儲過程名
      MyComm.CommandType = 4 '表明這是一個存儲過程
      MyComm.Prepared = true '要求將SQL命令先行編譯
      '聲明參數
      MyComm.Parameters.append MyComm.CreateParameter("@UserID",3,1,4,UserID)
      MyComm.Parameters.append MyComm.CreateParameter("@UserName",200,2,40)
      MyComm.Execute
      '取得出參
      UserName = MyComm(1)
      Set MyComm = Nothing

      分享:解析ASP中腳本執行順序
      如果機房馬上要關門了,或者你急著要和MM約會,請直接跳到第四個自然段。 以下敘述的腳本包括服務器端腳本和客戶端的腳本,服務器端腳本指在服務器上運行的那部分腳本,比如常見的Respon

      來源:模板無憂//所屬分類:ASP教程/更新時間:2009-08-22
      相關ASP教程