日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ASP调用sql server 存储过程详解-附带实例-

發布時間:2025/6/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP调用sql server 存储过程详解-附带实例- 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ado文檔對使用指定屬性創建新的 Parameter 對象。
語法

Set parameter = command.CreateParameter (Name, Type, Direction, Size, Value)

返回值

返回 Parameter 對象。

參數

Name ? 可選,字符串,代表 Parameter 對象名稱。

Type ? 可選,長整型值,指定 Parameter 對象數據類型。關于有效設置請參見 Type 屬性。

Direction ? 可選,長整型值,指定 Parameter 對象類型。關于有效設置請參見 Direction 屬性。

Size ? 可選,長整型值,指定參數值最大長度(以字符或字節數為單位)。

Value ? 可選,變體型,指定 Parameter 對象的值。

說明

使用 CreateParameter 方法可用指定的名稱、類型、方向、大小和值創建新的 Parameter 對象。在參數中傳送的所有值都將寫入相應的 Parameter 屬性。

該方法無法自動將 Parameter 對象追加到 Command 對象的 Parameter 集合,這樣就可以設置附加屬性。如果將 Parameter 對象追加到集合,則 ADO 將使該附加屬性的值生效。

如果在 Type 參數中指定可變長度的數據類型,那么在將它追加到 Parameters 集合之前必須傳送 Size 參數或者設置 Parameter 對象的 Size 屬性環裨蚪砦蟆?br>
================================================================================
參數值的類型的意義如下:

名稱值 整數值 功能

adDBTimeStamp 135 日期時間數據類型

adDecimal 14 十進制整數值

adDouble 5 雙精度小數值

adError 10 系統錯誤信息

AdGUID 72 全域性唯一識別字(Globally unique identifier)

adDispath 9 COM/OLE自動對象(Automation Object)

adInteger 3 4字節有符號整數

adIUnknown 13 COM/OLE對象

adLongVarBinary 205 大型2字節值

adLongVarChar 201 大型字符串值

adLongVarWChar 203 大型未編碼字符串

adNumeric 131 十進制整數值

adSingle 4 單精度浮點小數

adSmallInt 2 2字節有符號整數

adTinyInt 16 1字節有符號整數

adUnsignedBigInt 21 8字節無符號整數

adUnsignedInt 19 4字節無符號整數

adUnsignedSmallInt 18 2字節無符號整數

adUnsignedTinyInt 17 1字節無符號整數

adUserDefined 132 用戶自定義數據類型

adVariant 12 OLE對象

adVarBinary 204 雙字節字符變量值

adVarChar 200 字符變量值

advarchar 202 未編碼字符串變量值

adWchar 130 未編碼字符串

方向值的意義如下:

名稱值 整數值 功能 ?
adParamInput 1 允許數據輸入至該參數當中

adParamOutput 2 允許數據輸出至該參數當中

adParamInputOutput 3 允許數據輸入、輸出至該參數當中

adparamReturnValue 4 允許從一子程序中返回數據至該參數當中

更多詳細資源請參考Sql Server的文檔和IIS的文檔資源。
================================================================================
存儲過程簡介:

 為了提高Asp程序的效率,有時需要在Asp中使用使用Sql Server的存儲技術,下面簡單作一個介紹。

存儲過程的建立

  這里只簡單介紹如何在Sql Server的企業管理器中如何建立存儲過程:

(1)打開企業管理器Enterprise manager

(2)選擇服務器組(SQL Server Group)、服務器、數據庫(Database)以及相就的數據庫,鼠標右擊對應數據庫下的Stored Procdures項,在彈出的菜單中選擇New Stored Procedure,在Stored Procedures Properties中輸入建立存儲過程的語句。下面是一個例子:


  CREATE PROCEDURE proctest @mycola Char(10),@mycolb Char(10),@mycolc text  AS

  Insert into chatdata (mycola,mycolb,mycolc) values(@mycola,@mycolb,@mycolc)

在Sql Server的文檔中它的語法為:

  CREATE PROC[EDURE] procedure_name [;number]   [

  {@parameter data_type} [VARYING] [= default] [OUTPUT]   ]

  [,...n]  [WITH    {   RECOMPILE   | ENCRYPTION

  | RECOMPILE, ENCRYPTION   }  ]  [FOR REPLICATION]  AS

   sql_statement [...n]

  如果你對Sql語法不熟悉,可以使用Check Syntax來檢查語法。在上例中,表示建立存儲過程名為mycola,帶3個參數的存儲過過程,其中第一個參數mycola數據類型為char,寬度10;第2個參數數據類型為char,寬度為10,第3個參數數據類型為text,在這里使用的是Sql Server的數據類型。
  存儲過程建立后,下面就是如何在Asp程序中調用該存儲過程:在Asp中調用存儲過程 為了提高Asp程序的效率,有時需要在Asp中使用使用Sql Server的存儲技術,下面簡單作一個,在上面的增加參數的語句p.Append cm.CreateParameter("@mycolc",201,1,250)中,格式為:

p.Append cm.CreateParameter("參數名稱",類型,方向,大小)

================================================================================
asp的調用方法:
?1 這也是最簡單的方法,兩個輸入參數,無返回值:
set connection = server.createobject("adodb.connection")
connection.open someDSN
Connection.Execute "procname varvalue1, varvalue2"

'將所有對象清為nothing,釋放資源
connection.close
set connection = nothing


2 如果要返回 Recordset 集:
set connection = server.createobject("adodb.connection")
connection.open someDSN
set rs = server.createobject("adodb.recordset")
rs.Open "Exec procname varvalue1, varvalue2",connection

'將所有對象清為nothing,釋放資源
rs.close
connection.close
set rs = nothing
set connection = nothing


3 以上兩種方法都不能有返回值,(Recordset除外),如果要得到返回值,需要用Command的方法。
首先說明,返回值有兩種。一種是在存儲過程中直接return一個值,就象C和VB的函數返回值那樣;
另一種是可以返回多個值,存儲這些值的變量名稱需要在調用參數中先行指定。
這個例子要處理多種參數,輸入參數,輸出參數,返回記錄集以及一個直接返回值(夠全了吧?)
(見我寫的實例已經調試通過)實例:

'=====================================================
'功能:調用存儲過程 刪除欄目
'返回:NO
'By king 2005-04-22
'=====================================================
Function Fun_delete_column(DelScope,Site_id,column_id)
? ? ?' create proc pro_delte_column
? ? ?'@Del_scope varchar(100) ,
? ? ?'@Site_ID int ,
? ? ?'@COLUMN_ID int,
? ? ?'@back_message varchar(100) output
? ? ?'建立數據庫連接
? ? ?Set Comm=Server.CreateObject("ADODB.Command")
? ? ?Comm.ActiveConnection=conn
? ? ?'以comm對象建立存儲過程連接,4代表連接類型為存儲過程
? ? ?Comm.CommandText="pro_delte_column"
? ? ?Comm.CommandType=4
? ? ?'以p1為名稱建立comm對象的parameter方法。將第一個參數fullname追加到p1集合中 ?
? ? ?Set p1=Comm.CreateParameter("@Del_scope",200,1,100,DelScope)
? ? ?Comm.Parameters.Append p1 ?
? ? ?Set p1=Comm.CreateParameter("@Site_ID",3,1,,Site_ID)
? ? ?Comm.Parameters.Append p1 ?
? ? ?Set p1=Comm.CreateParameter("@COLUMN_ID",3,1,,column_id)
? ? ?Comm.Parameters.Append p1 ? ? ? ?
? ? ?'以p1為名稱建立comm對象的parameter方法。將第三個參數check追加到p1集合中 ?
? ? ?Set p1=Comm.CreateParameter("@back_message",200,2,100)
? ? ?Comm.Parameters.Append p1 ?
? ? ?'運行存儲過程
? ? ?Comm.Execute ?
? ? ?'提出結果,進行處理
? ? ?if comm("@back_message")="Success" then
? ? ? ? ? ?response.write "歡迎進入系統!"
? ? ?else ?
? ? ? ? ? ?'輸出值:
? ? ? ? ? ?Response.Write "

@back_message = " & comm.Parameters("@back_message").Value & "

"
? ? ?end if ?
? ? ?'釋放連接
? ? ?Set Comm=nothing??

轉載于:https://www.cnblogs.com/Nina-piaoye/archive/2006/09/18/507221.html

總結

以上是生活随笔為你收集整理的ASP调用sql server 存储过程详解-附带实例-的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。