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

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

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

      以下為引用的內容:

      '**調用同時具有返回值、輸入參數、輸出參數的存儲過程**
      DIM MyComm,UserID,UserName
      UserID = 1
      Set MyComm = Server.CreateObject("ADODB.Command")
      with MyComm
      .ActiveConnection = MyConStr 'MyConStr是數據庫連接字串
      .CommandText = "getUserName" '指定存儲過程名
      .CommandType = 4 '表明這是一個存儲過程
      .Prepared = true '要求將SQL命令先行編譯

      '返回值要最先被聲明
      .Parameters.Append .CreateParameter("RETURN",2,4)
      '以下兩參數的聲明順序也做相應顛倒
      .Parameters.append .CreateParameter("@UserName",200,2,40)
      .Parameters.append .CreateParameter("@UserID",3,1,4,UserID)
      .Execute
      end with
      if MyComm(0) = 1 then
      UserName = MyComm(1)
      else
      UserName = "該用戶不存在"
      end if
      Set MyComm = Nothing

      6. 同時返回參數和記錄集的存儲過程

      有時候,我們需要存儲過程同時返回參數和記錄集,比如在利用存儲過程分頁時,要同時返回記錄集以及數據總量等參數。以下給出一個進行分頁處理的存儲過程:

      以下為引用的內容:

      /*SP6*/
      CREATE PROCEDURE dbo.getUserList
      @iPageCount int OUTPUT, --總頁數
      @iPage int, --當前頁號
      @iPageSize int --每頁記錄數
      as
      set nocount on
      begin
      --創建臨時表
      create table #t (ID int IDENTITY, --自增字段
      userid int,
      username varchar(40))
      --向臨時表中寫入數據
      insert into #t
      select userid,username from dbo.[UserInfo]
      order by userid

      --取得記錄總數
      declare @iRecordCount int
      set @iRecordCount = @@rowcount

      以下為引用的內容:

      --確定總頁數
      IF @iRecordCount%@iPageSize=0
      SET @iPageCount=CEILING(@iRecordCount/@iPageSize)
      ELSE
      SET @iPageCount=CEILING(@iRecordCount/@iPageSize) 1

      --若請求的頁號大于總頁數,則顯示最后一頁
      IF @iPage > @iPageCount
      SELECT @iPage = @iPageCount

      --確定當前頁的始末記錄
      DECLARE @iStart int --start record
      DECLARE @iEnd int --end record
      SELECT @iStart = (@iPage - 1) * @iPageSize
      SELECT @iEnd = @iStart @iPageSize 1

      --取當前頁記錄
      select * from #t where ID>@iStart and ID<@iEnd

      --刪除臨時表
      DROP TABLE #t

      --返回記錄總數
      return @iRecordCount
      end
      go

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

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