国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

ASP調(diào)用SQL Server視圖和存儲過程

瀏覽:6日期:2023-11-02 08:32:30

一、前言

ASP (Active Server Pages) 是服務(wù)器端的腳本編寫環(huán)境,它由微軟公司的IIS3.0以上版本支持。它可用來創(chuàng)建動態(tài) Web 頁或生成功能強(qiáng)大的 Web應(yīng)用程序。ASP頁是包括 HTML 標(biāo)記、文本和腳本命令的文件。ASP頁可調(diào)用ActiveX組件來執(zhí)行任務(wù),例如連接到數(shù)據(jù)庫或進(jìn)行商務(wù)計算。通過ASP,可為您的Web頁添加交互內(nèi)容或用HTML頁構(gòu)成整個Web應(yīng)用程序,這些應(yīng)用程序使用HTML頁作為您的客戶的界面。

二、ASP模型

瀏覽器從Web服務(wù)器上請求 .asp文件時,ASP 腳本開始運行。然后Web服務(wù)器調(diào)用ASP,ASP全面讀取請求的文件,執(zhí)行所有腳本命令,并將Web頁傳送給瀏覽器。

ASP提供了一個在HTML頁中使用現(xiàn)有腳本語言如 Microsoft VBScript 和 Microsoft JScript 的框架。

ASP提供內(nèi)建對象,這些對象使用戶更容易收集通過瀏覽器請求發(fā)送的信息、響應(yīng)瀏覽器以及存儲用戶信息。包括Application、Request、Response、Server、Session 和ObjectContext 對象。其中最為常用的為Request、Response 和Server三個對象,它們分別用于從瀏覽器請求信息、向瀏覽器發(fā)送信息和訪問服務(wù)器上對象的屬性和方法。

三、ADO

ASP和后臺數(shù)據(jù)庫連接使用微軟的ADO(ActiveX Data Objects),ADO是一項容易使用并且可擴(kuò)展的將數(shù)據(jù)庫訪問添加到Web頁的技術(shù)。可以使用ADO去編寫緊湊簡明的腳本以便連接到Open Database Connectivity(ODBC)兼容的數(shù)據(jù)庫和 OLE DB兼容的數(shù)據(jù)源。

ADO包含7個內(nèi)置對象,它們分別為Connection、Command、RecordSet、Fields、Error、Parameters和Properties。通過這些對象,ASP可以完成對后臺數(shù)據(jù)庫的所有操作。

四、ASP調(diào)用視圖和存儲過程

在一般的MIS應(yīng)用中,會有大量的報表,此時我們可以在后臺數(shù)據(jù)庫編寫相應(yīng)的視圖或存儲過程,用ASP通過ADO調(diào)用以完成報表工作。下面用一個例子說明相應(yīng)的操作過程。

1.創(chuàng)建 ODBC DSN 文件

在創(chuàng)建數(shù)據(jù)庫腳本之前,必須提供一條使ADO定位、標(biāo)識和與數(shù)據(jù)庫通訊的途徑。數(shù)據(jù)庫驅(qū)動程序使用Data Source Name (DSN) 定位和標(biāo)識特定的ODBC兼容數(shù)據(jù)庫,將信息從 Web 應(yīng)用程序傳遞給數(shù)據(jù)庫。

2. 調(diào)用數(shù)據(jù)庫視圖

訪問數(shù)據(jù)庫信息的第一步是和數(shù)據(jù)庫源建立連接。ADO提供Connection對象,可以使用該對象建立和管理應(yīng)用程序和 ODBC數(shù)據(jù)庫之間的連接。

<%Set Dataconn = Server.CreateObject('ADODB.Connection') '建立連接對象;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') '建立命令對象;Set rst= Server.CreateObject('ADODB.Recordset') '建立記錄集對象;cmdTemp.CommandText = 'Customers ';cmdTemp.CommandType = 2;Set cmdTemp.ActiveConnection = DataConn;rst.Open cmdTemp, , 1, 3 '生成查詢結(jié)果%>

此時,Customers為視圖,從視圖中查詢數(shù)據(jù)與從基表中查詢數(shù)據(jù)的方法是相同的。

3.調(diào)用數(shù)據(jù)庫存儲過程

<%Set Dataconn = Server.CreateObject('ADODB.Connection') '建立連接對象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') '建立命令對象Set rst = Server.CreateObject('ADODB.Recordset') '建立記錄集對象cmdTemp.CommandText = 'dbo.pd_test' '存儲過程名稱cmdTemp.CommandType = 4 '命令類別為4,表示為存儲過程Set cmdTemp.ActiveConnection = DataconnSet tmpParam = cmdTemp.CreateParameter('Return Value', 3, 4, 4)cmdTemp.Parameters.Append tmpParamSet tmpParam = cmdTemp.CreateParameter('@BeginDate', 135, 1, 16, riqi) '創(chuàng)建輸入?yún)?shù)對象cmdTemp.Parameters.Append tmpParamrst.Open cmdTemp, , 1, 3;'生成查詢結(jié)果%>

這里調(diào)用的存儲過程為pd_test,這種是ADO中提供的標(biāo)準(zhǔn)方法,但存在一個問題,就是當(dāng)在存儲過程中有兩個以上的SELECT語句,但從邏輯上又不可能同時執(zhí)行的時候,ADO會提示你存儲過程中SELECT語句太多,解決方法是直接用ADO的CONNECTION對象的EXECUTE方法直接執(zhí)行存儲過程,如下:

<%Set Dataconn = Server.CreateObject('ADODB.Connection') '建立連接對象Dataconn.Open 'DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft (R) Developer Studio;WSID=APP_SERVER;Regional=Yes'ss = 'EXECUTE dbo.pd_test ' & ''' & riqi1 & ''' Set rs = dataconn.Execute(ss)%>

有關(guān)ASP和ADO使用的詳細(xì)信息,請參閱 Microsoft ActiveX Data Objects (ADO) 和Active Server Pages(ASP)的詳細(xì)參考。

五、結(jié)束語

在B/S結(jié)構(gòu)的開發(fā)中,我們可以把一些商業(yè)規(guī)則或復(fù)雜查詢用存儲過程在DBMS中編寫,然后用ASP中的ADO對象調(diào)用,完成原來C/S結(jié)構(gòu)中的傳統(tǒng)功能。

摘自:http://www.webdn.com/web_file/program/asp/N0610928/

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 宝山区| 梧州市| 隆德县| 邵阳县| 揭东县| 广昌县| 桐柏县| 锡林郭勒盟| 瓦房店市| 长治市| 龙岩市| 札达县| 资阳市| 沁阳市| 伊春市| 含山县| 吴堡县| 平利县| 行唐县| 青川县| 福建省| 洪洞县| 布拖县| 安顺市| 久治县| 广德县| 闻喜县| 永定县| 东安县| 广德县| 元阳县| 榆社县| 大悟县| 宜川县| 靖边县| 德令哈市| 宜兰县| 寿宁县| 金坛市| 临沧市| 澄迈县|