在ASP中調(diào)用SQL Server視圖和存儲(chǔ)過程_ASP教程
推薦:ASP子程序的簡(jiǎn)單入門在 ASP 中,你可通過 VBScript 和其他方式調(diào)用子程序。 實(shí)例: 調(diào)用使用 VBScript 的子程序 html head % sub vbproc(num1,num2) response.write(num1*num2) end sub % /head body p您可以像這樣調(diào)用一個(gè)程序:/p p結(jié)果:蔿l vbproc(3,4)%/p p或者,像這樣:/
一、前言
ASP (Active Server Pages) 是服務(wù)器端的腳本編寫環(huán)境,它由微軟公司的IIS3.0以上版本支持。它可用來創(chuàng)建動(dòng)態(tài) Web 頁(yè)或生成功能強(qiáng)大的 Web應(yīng)用程序。ASP頁(yè)是包括 HTML 標(biāo)記、文本和腳本命令的文件。ASP頁(yè)可調(diào)用ActiveX組件來執(zhí)行任務(wù),例如連接到數(shù)據(jù)庫(kù)或進(jìn)行商務(wù)計(jì)算。通過ASP,可為您的Web頁(yè)添加交互內(nèi)容或用HTML頁(yè)構(gòu)成整個(gè)Web應(yīng)用程序,這些應(yīng)用程序使用HTML頁(yè)作為您的客戶的界面。
二、ASP模型
瀏覽器從Web服務(wù)器上請(qǐng)求 .asp文件時(shí),ASP 腳本開始運(yùn)行。然后Web服務(wù)器調(diào)用ASP,ASP全面讀取請(qǐng)求的文件,執(zhí)行所有腳本命令,并將Web頁(yè)傳送給瀏覽器。
ASP提供了一個(gè)在HTML頁(yè)中使用現(xiàn)有腳本語(yǔ)言如 Microsoft VBScript 和 Microsoft JScript 的框架。
ASP提供內(nèi)建對(duì)象,這些對(duì)象使用戶更容易收集通過瀏覽器請(qǐng)求發(fā)送的信息、響應(yīng)瀏覽器以及存儲(chǔ)用戶信息。包括Application、Request、Response、Server、Session 和ObjectContext 對(duì)象。其中最為常用的為Request、Response 和Server三個(gè)對(duì)象,它們分別用于從瀏覽器請(qǐng)求信息、向?yàn)g覽器發(fā)送信息和訪問服務(wù)器上對(duì)象的屬性和方法。
三、ADO
ASP和后臺(tái)數(shù)據(jù)庫(kù)連接使用微軟的ADO(ActiveX Data Objects),ADO是一項(xiàng)容易使用并且可擴(kuò)展的將數(shù)據(jù)庫(kù)訪問添加到Web頁(yè)的技術(shù)。可以使用ADO去編寫緊湊簡(jiǎn)明的腳本以便連接到Open Database Connectivity(ODBC)兼容的數(shù)據(jù)庫(kù)和 OLE DB兼容的數(shù)據(jù)源。
ADO包含7個(gè)內(nèi)置對(duì)象,它們分別為Connection、Command、RecordSet、Fields、Error、Parameters和Properties。通過這些對(duì)象,ASP可以完成對(duì)后臺(tái)數(shù)據(jù)庫(kù)的所有操作。
四、ASP調(diào)用視圖和存儲(chǔ)過程
在一般的MIS應(yīng)用中,會(huì)有大量的報(bào)表,此時(shí)我們可以在后臺(tái)數(shù)據(jù)庫(kù)編寫相應(yīng)的視圖或存儲(chǔ)過程,用ASP通過ADO調(diào)用以完成報(bào)表工作。下面用一個(gè)例子說明相應(yīng)的操作過程。
1.創(chuàng)建 ODBC DSN 文件
在創(chuàng)建數(shù)據(jù)庫(kù)腳本之前,必須提供一條使ADO定位、標(biāo)識(shí)和與數(shù)據(jù)庫(kù)通訊的途徑。數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序使用Data Source Name (DSN) 定位和標(biāo)識(shí)特定的ODBC兼容數(shù)據(jù)庫(kù),將信息從 Web 應(yīng)用程序傳遞給數(shù)據(jù)庫(kù)。
2. 在ASP中調(diào)用SQL Server數(shù)據(jù)庫(kù)視圖
訪問數(shù)據(jù)庫(kù)信息的第一步是和數(shù)據(jù)庫(kù)源建立連接。ADO提供Connection對(duì)象,可以使用該對(duì)象建立和管理應(yīng)用程序和 ODBC數(shù)據(jù)庫(kù)之間的連接。
| 以下為引用的內(nèi)容: <% Set Dataconn = Server.CreateObject("ADODB.Connection") '建立連接對(duì)象 Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER; UID=sa;PWD=;APP=Microsoft (R) Developer Studio;WSID=APP_SERVER;Regional=Yes" Set cmdTemp = Server.CreateObject("ADODB.Command") '建立命令對(duì)象 Set rst= Server.CreateObject("ADODB.Recordset") '建立記錄集對(duì)象 cmdTemp.CommandText = "Customers " cmdTemp.CommandType = 2 Set cmdTemp.ActiveConnection = DataConn rst.Open cmdTemp, , 1, 3 '生成查詢結(jié)果 %> |
此時(shí),Customers為視圖,從視圖中查詢數(shù)據(jù)與從基表中查詢數(shù)據(jù)的方法是相同的。
3.在ASP中調(diào)用SQL Server數(shù)據(jù)庫(kù)存儲(chǔ)過程
| 以下為引用的內(nèi)容: <% Set Dataconn = Server.CreateObject("ADODB.Connection") '建立連接對(duì)象 Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa; PWD=;APP=Microsoft (R) Developer Studio;WSID=APP_SERVER;Regional=Yes" Set cmdTemp = Server.CreateObject("ADODB.Command") '建立命令對(duì)象 Set rst = Server.CreateObject("ADODB.Recordset") '建立記錄集對(duì)象 cmdTemp.CommandText = "dbo.pd_test" '存儲(chǔ)過程名稱 cmdTemp.CommandType = 4 '命令類別為4,表示為存儲(chǔ)過程 Set cmdTemp.ActiveConnection = Dataconn Set tmpParam = cmdTemp.CreateParameter("Return Value", 3, 4, 4) cmdTemp.Parameters.Append tmpParam Set tmpParam = cmdTemp.CreateParameter("@BeginDate", 135, 1, 16, riqi) '創(chuàng)建輸入?yún)?shù)對(duì)象 cmdTemp.Parameters.Append tmpParam rst.Open cmdTemp, , 1, 3 '生成查詢結(jié)果 %> |
這里調(diào)用的存儲(chǔ)過程為pd_test,這種是ADO中提供的標(biāo)準(zhǔn)方法,但存在一個(gè)問題,就是當(dāng)在存儲(chǔ)過程中有兩個(gè)以上的SELECT語(yǔ)句,但從邏輯上又不可能同時(shí)執(zhí)行的時(shí)候,ADO會(huì)提示你存儲(chǔ)過程中SELECT語(yǔ)句太多,解決方法是直接用ADO的CONNECTION對(duì)象的EXECUTE方法直接執(zhí)行存儲(chǔ)過程,如下:
| 以下為引用的內(nèi)容: <% |
有關(guān)ASP和ADO使用的詳細(xì)信息,請(qǐng)參閱 Microsoft ActiveX Data Objects (ADO) 和Active Server Pages(ASP)的詳細(xì)參考。
五、在ASP中調(diào)用SQL Server視圖和存儲(chǔ)過程結(jié)束語(yǔ)
在B/S結(jié)構(gòu)的開發(fā)中,我們可以把一些商業(yè)規(guī)則或復(fù)雜查詢用存儲(chǔ)過程在DBMS中編寫,然后用ASP中的ADO對(duì)象調(diào)用,完成原來C/S結(jié)構(gòu)中的傳統(tǒng)功能。
分享:怎樣用ASP編寫圖片計(jì)數(shù)器在Internet上,用ASP編寫的計(jì)數(shù)器到處都是,本人覺得再在這里談ASP編寫計(jì)數(shù)器已沒有多大意義。后來想想還是有必要談一下,因?yàn)檫@不僅僅只是在談?dòng)?jì)數(shù)器的編寫,而是在向大家介紹ASP的知識(shí)與應(yīng)用技巧。 程序原代碼如下: $#@60;%countlong=8 countlong定義計(jì)
- asp FSO 讀寫文件本文件實(shí)現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實(shí)IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫(kù)實(shí)現(xiàn)代碼
- asp中正則表達(dá)式過濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁(yè)模板:ASP內(nèi)建對(duì)象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個(gè)小技巧
- eWebEditor v3.8 列目錄
- ASP無組件分頁(yè)實(shí)現(xiàn)思路及代碼
- 相關(guān)鏈接:
- 教程說明:
ASP教程-在ASP中調(diào)用SQL Server視圖和存儲(chǔ)過程
。