六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用存儲過程完成ASP對數據庫訪問

[摘要]一、ADO概述ActiveX 數據對象 (ADO) 是一種既易于使用又可擴充的技術,用來將數據庫訪問添加到您的 Web 頁可以使用 ADO 編寫簡潔和可升級的腳本以連接到與 OLE DB 兼容的數據源,如數據庫、電子表格、順序數據文件或電子郵件目錄。OLE DB 是一個系統級的編程接口,它提供一套...
一、ADO概述
ActiveX 數據對象 (ADO) 是一種既易于使用又可擴充的技術,用來將數據庫訪問添加到您的 Web 頁可以使用 ADO 編寫簡潔和可升級的腳本以連接到與 OLE DB 兼容的數據源,如數據庫、電子表格、順序數據文件或電子郵件目錄。OLE DB 是一個系統級的編程接口,它提供一套標準的 COM 接口,用來展示數據庫管理系統的功能。使用 ADO 的對象模型,您可以輕松地(使用 VBScript 或 JScript 等腳本語言)訪問這些接口并將數據庫功能添加到您的 Web 應用程序中。另外,您還可以使用 ADO 訪問與開放式數據庫互連 (ODBC) 兼容的數據庫。
如果您是一位對數據庫互連知識有一定了解的腳本編寫者,您將會發現 ADO 的命令語法很簡單,而且很容易使用。如果您是一位經驗豐富的開發人員,您將會非常欣賞 ADO 提供的這種可升級的對各種數據源的高性能訪問。
二、訪問數據庫的一般方法
一般的網頁訪問中訪問數據庫是按照下列步驟進行的,首先建立一個ADODB.Connection 接口的對象,接著在這一個對象上綁定相應的數據源(可以用有名數據源和無名數據源),根據需要建立或者不建立記錄集,然后在該數據源上鏈接用執行或打開的方法來對相應的表進行操作。
Asp訪問數據庫的一般方法:
<
Set oConn=Server.CreateObject(“ADODB.Connection”)
Set oRS=Server.CreateObject(“ADODB.RecordSet”)
set strConn="Provider=SQLOLEDB;User ID=sa; Initial Catalog=Pubs;Data Source=" &request.ServerVariables("SERVER_NAME")
oConn.open strConn
set ORS=oConn.execute(“select * from test”)
>
以上介紹了無名鏈接的OLEDB的使用方法,如果是有名鏈接,設為數據源test,用戶名和口令均為空,則只需要改寫一下上述語句oConn.open “test”,””,””
上面簡要介紹了一下對于網頁中涉及到數據庫訪問的一般方法,這些已經是很成熟的,也是很有用的,如果在實際中對于某些數據的存取過于復雜,需要近10條SQL語句才能寫完,那么這種方法就有點欠缺,另外有些時候需要使用相同的處理過程,而在不同的網頁中使用,而這用存儲過程則是最有利的,還有一個最大特點是存儲過程對于技術的保密性相對高些,它存儲于遠端服務器的數據庫內。
三、存儲過程在ASP中的使用
在ADO中提供了對存儲過程的訪問,它需要用到command對象,在這個對象上用戶可以直接執行SQL服務器的存儲過程,而命令中所需要的參數可以借助于其屬性Pamaters來進行處理。
注意 一個 Command 對象要想有效,必須和一個 Connection 對象相關聯,方法是Command 對象的 ActiveConnection 屬性就被設置到這個 Connection 對象。如果一個 Connection 對象不能被標識,在您將它與一個連接關聯之前,Command 對象是無效的。
< Dim oConn
Dim strConn
Dim oCmd
Dim oRs,ors1
dim aa
dim sql
Set oConn = Server.CreateObject("ADODB.Connection")
set oCmd = Server.CreateObject("ADODB.Command")
set ors1=Server.CreateObject("ADODB.RecordSet")
' 打開鏈接,使用用戶標識SA,口令為空,連接為本地服務器上的數據庫
strConn="Provider=SQLOLEDB;User ID=sa;Initial Catalog=pubs;Data Source="& Request.ServerVariables("SERVER_NAME")
'如果連接一個遠端的數據庫,該數據庫地址為:10.82.88.105,用戶為tmp,口令為123,
‘則可用下面的方法
‘ strConn="Provider=SQLOLEDB;User ID=tmp;pwd=123;Initial Catalog=tjbb;Data Source="& "10.82.88.110"
oConn.Open strConn
‘將建立的鏈接添加到命令的活動鏈接屬性中
Set oCmd.ActiveConnection = oConn
' 設置調用存儲過程byroyalty和參數,參數由?引入
oCmd.CommandText = "{call byroyalty(?)}"
oCmd.Parameters.Append oCmd.CreateParameter("@Percentage", adInteger, adParamInput)
' 提供輸入的參數
oCmd("@Percentage") = 75
‘在asp中上述輸入參數的使用也可不用參數屬性來實現直接用VB中的&來形成命令文本中對應的數據即可
‘參數的使用在輸出時是特別有用的
Set oRs = oCmd.Execute
ors1.activeconnection=oconn
‘該命令對象中也可應用一般的SQL語句使用Source和open屬性,其中source指出數據源
ors1.source ="select * from [tmptable] where 年份=2000 and 月份=1"
ors1.cursortype=adopenstatic
ors1.open
>
四、在SQL中的存儲過程簡介
利用SQL的語言可以編寫對于數據庫訪問的存儲過程,其語法如下:
CREATE PROC[EDURE] procedure_name [;number]
[
{@parameter data_type} [VARYING] [= default] [OUTPUT]
]
[,...n]
[WITH
{
RECOMPILE
ENCRYPTION
RECOMPILE, ENCRYPTION
}
]
[FOR REPLICATION]
AS
sql_statement [...n]
[ ]內的內容是可選項,而()內的內容是必選項,
例: 若用戶想建立一個刪除表tmp中的記錄的存儲過程Select_delete可寫為:
Create Proc select_del As
Delete tmp
例:用戶想查詢tmp表中某年的數據的存儲過程
create proc select_query @year int as
select * from tmp where year=@year
在這里@year是存儲過程的參數
例:該存儲過程是從某結點n開始找到最上層的父親結點,這種經常用到的過程可以由存儲過程來擔當,在網頁中重復使用達到共享。
空:表示該結點為頂層結點
fjdid(父結點編號)
結點n 非空:表示該結點的父親結點號
dwmc(單位名稱)
CREATE proc search_dwmc @dwidold int,@dwmcresult varchar(100) output
as
declare @stop int
declare @result varchar(80)
declare @dwmc varchar(80)
declare @dwid int
set nocount on
set @stop=1
set @dwmc=""
select @dwmc=dwmc,@dwid=convert(int,fjdid) from jtdw where id=@dwidold
set @result=rtrim(@dwmc)
if @dwid=0
set @stop=0
while (@stop=1) and (@dwid<>0)
begin
set @dwidold=@dwid
select @dwmc=dwmc,@dwid=convert(int,fjdid) from jtdw where id=@dwidold
if @@rowcount=0
set @dwmc=""
else
set @result=@dwmc+@result
if (@dwid=0) or (@@rowcount=0)
set @stop=0
else
continue
end
set @dwmcresult=rtrim(@result)
充分合理地利用存儲過程,可以提高服務器吞吐能力,筆者利用存儲過程來從近20個表中獲取數據組合成一個通用的表,產生近2萬條記錄,而所需時間約7秒鐘,如果這種操作借助于較合理的動態網頁可以將服務器開發提高到一個高度,充分利用存儲過程,可以減輕網頁設計帶來的繁重處理,而使所編寫的代碼得到共享和合理的利用,并將代碼藏于服務器的數據庫內部,使得一些技術得到的保密,這也是存儲過程的一大特色,希望讀者能從中得到啟益。



主站蜘蛛池模板: 永久免费在线看mv | 亚洲va久久久噜噜噜久久天堂 | 日本天堂免费a | 午夜爱爱免费视频 | 午夜免费在线 | 小小的日本动漫在线观看免费高清 | 青春草视频免费观看 | 日本理论视频 | 一二三四在线观看高清在线观看一 | 中文字幕日韩在线一区国内 | 日a在线 | 亚欧日韩毛片在线看免费网站 | 午夜精品视频在线观看 | 亚洲国产精品线播放 | 午夜视 | 亚洲国产午夜 | 在线中文字幕一区 | 日本a级三级三级三级久久 日本a级片在线播放 | 速度与激情9免费完整版高清 | 午夜丁香婷婷 | 中文字幕日韩专区精品系列 | 色妇色综合久久夜夜 | 天天色综合色 | 日日日日人人人夜夜夜2017 | 青草精品在线 | 亚洲va欧美va国产综合下载 | 欧美性开放视频 | 日韩专区亚洲精品欧美专区 | 性生大片免费观看性 | 青娱乐国产在线 | 亚洲欧美国产另类 | 青青青国产手机在线播放 | 欧美亚洲综合视频 | 亚洲精品中文字幕乱码三区一二 | 天天看天天操 | 日本一卡二卡三卡 | 日日夜夜综合 | 在线观看h视频播放高清 | 午夜剧场黄 | 在线视频你懂的国产福利 | 日韩色网|