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

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

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

      還可以通過Connection對象或Recordset對象調用存儲過程,方法分別如下:

      以下為引用的內容:

      '**通過Connection對象調用存儲過程**
      DIM MyConn,MyRst
      Set MyConn = Server.CreateObject("ADODB.Connection")
      MyConn.open MyConStr 'MyConStr是數據庫連接字串
      Set MyRst = MyConn.Execute("getUserList",0,4) '最后一個參斷含義同CommandType
      Set MyConn = Nothing

      '**通過Recordset對象調用存儲過程**
      DIM MyRst
      Set MyRst = Server.CreateObject("ADODB.Recordset")
      MyRst.open "getUserList",MyConStr,0,1,4
      'MyConStr是數據庫連接字串,最后一個參斷含義與CommandType相同

      2. 沒有輸入輸出的存儲過程
      請看以下存儲過程:

      以下為引用的內容:

      /*SP2*/
      CREATE PROCEDURE dbo.delUserAll
      as
      set nocount on
      begin
      delete from dbo.[userinfo]
      end
      go

      該存儲過程刪去userinfo表中的所有記錄,沒有任何輸入及輸出,調用方法與上面講過的基本相同,只是不用取得記錄集:

      以下為引用的內容:

      '**通過Command對象調用存儲過程**
      DIM MyComm
      Set MyComm = Server.CreateObject("ADODB.Command")
      MyComm.ActiveConnection = MyConStr 'MyConStr是數據庫連接字串
      MyComm.CommandText = "delUserAll" '指定存儲過程名
      MyComm.CommandType = 4 '表明這是一個存儲過程
      MyComm.Prepared = true '要求將SQL命令先行編譯
      MyComm.Execute '此處不必再取得記錄集
      Set MyComm = Nothing

      當然也可通過Connection對象或Recordset對象調用此類存儲過程,不過建立Recordset對象是為了取得記錄集,在沒有返回記錄集的情況下,還是利用Command對象吧。

      3. 有返回值的存儲過程

      在進行類似SP2的操作時,應充分利用SQL Server強大的事務處理功能,以維護數據的一致性。并且,我們可能需要存儲過程返回執行情況,為此,將SP2修改如下:

      以下為引用的內容:

      /*SP3*/
      CREATE PROCEDURE dbo.delUserAll
      as
      set nocount on
      begin
      BEGIN TRANSACTION
      delete from dbo.[userinfo]
      IF @@error=0
      begin
      COMMIT TRANSACTION
      return 1
      end
      ELSE
      begin
      ROLLBACK TRANSACTION
      return 0
      end
      return
      end
      go

      以上存儲過程,在delete順利執行時,返回1,否則返回0,并進行回滾操作。為了在ASP中取得返回值,需要利用Parameters集合來聲明參數:

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

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