幾例在ASP預存程序的使用方法

來源:互聯網
上載者:User

標籤:des   style   c   ext   color   int   

幾例在ASP預存程序的使用方法

一、使用Command對象和Parameter對象傳遞參數

本講將主要使用Microsoft SQL Server7.0資料庫,先建立一個串連檔案AdoSQL7.asp備用,以後用到時不再特別說明。

<% ‘AdoSQL7.asp

Option Explicit

Response.Expires = 0

‘第一部分: 建立串連

Dim Cnn, StrCnn

Set Cnn = Server.CreateObject("ADODB.Connection")

StrCnn = "Provider=sqloledb; User ID=sa; Password=; Initial Catalog=pubs; Data Source=ICBCZJP"

Cnn.Open StrCnn

%>

注意:自己使用時要將Data Source設為你的資料庫伺服器所在的機器名。

另外,以前使用Access資料庫時,用Microsoft Access97可以很方便的查看欄位及資料,而使用SQL Server資料庫,尤其是並不在資料庫伺服器,而是在另一台機器上調試ASP指令碼時,要查看欄位及資料便需另外安裝工具,這裡向你提供一個工具:Msqry32.exe(Microsoft Query),這個檔案隨Office97安裝,一般位於目錄“Microsoft OfficeOffice”下。

例wuf70.asp:

<%@ LANGUAGE="VBSCRIPT" %>

<!--#include file="AdoSQL7.asp"-->

<!--#include file="adovbs.inc"-->

<% ‘ wuf70.asp

Dim cmdTest, prmTest, rsTest

‘建立 Command 對象

Set cmdTest = Server.CreateObject("ADODB.Command")

‘Recordset、Command對象都可以通過ActiveConnection屬性來串連Connection對象

cmdTest.ActiveConnection = Cnn

‘SQL命令 - 含兩個參數, 用 ? 表示

cmdTest.CommandText = "Update jobs Set job_desc = ? Where job_id = ?"

‘設命令類型為 SQL 陳述式

cmdTest.CommandType = adCmdText

‘Prepared 屬性決定是否將 SQL 命令先行編譯,將其設為True,可以加快運行

cmdTest.Prepared = True

‘建立 Parameter 對象

Set prmTest=cmdTest.CreateParameter("job_desc",adVarChar,adParamInput,50,"網路")

‘將資料追加到 Parameters 資料集合中

cmdTest.Parameters.Append prmTest

Set prmTest = cmdTest.CreateParameter("job_id",adSmallInt,adParamInput,,"12")

cmdTest.Parameters.Append prmTest

‘執行修改 ? 不需要返回結果,簡單的使用cmdTest.Execute 就可以了

cmdTest.Execute

‘重新設定參數運行 ? 便可修改另一條資料

cmdTest.Parameters("job_id") = "1"

cmdTest.Parameters("job_desc") = "測試"

cmdTest.Execute

‘重新設定參數運行

cmdTest("job_id") = "14"

cmdTest("job_desc") = "金融"

cmdTest.Execute

Set rsTest = Cnn.Execute("Select job_id,job_desc From jobs")

While Not rsTest.EOF

Response.Write rsTest(0) & rsTest(1) & "<br>"

rsTest.MoveNext

Wend

Cnn.close : Set prmTest = Nothing

Set cmdTest = Nothing: Set Cnn = Nothing

%>

分析:

1.Command對象的CreateParameter方法用來為SQL命令或預存程序建立參數對象,共有五個參數(五個參數都是可選項):

第一個參數:參數對象的名稱;

第二個參數:參數對象的資料類型,種類太多,還是參考ADO協助吧,這裡adVarChar(字串值)、adSmallInt(2 位元組帶符號整型);

第三個參數:參數類型。可以是:adParamInput(指示輸入參數)、adParamOutput( 指示為輸出參數)、adParamReturnValue(指示為返回值)、adParamUnknown(指示參數類型無法確定)、adParamInputOutput(指示為輸入/輸出參數);

第四個參數:參數的資料長度,最好指定為與資料庫中對應欄位長度相等,以免使用時出錯,尤其資料類型為VarChar時,如果是整型或日期型則不必提供該值;

第五個參數:參數的設定初值。

2.cmdTest.Parameters.Append方法增加一個Parameter對象到Parameters資料集合中,從本例中也可看到如何使用多個參數。

3.從本例可以看到,只需要重新設定輸入參數,便可執行對其他資料的修改,非常方便,這一思路在編程時也是最常用的方法之一。

4.重設參數,既可以使用cmdTest.Parameters,也可以省略為cmdTest("job_id")。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.