原始版的DataAccess

2021-09-08 05:58:23 字數 3924 閱讀 5926

<%

''dataaccess''

'' ' ' 

' ' ' '

' class dataaccess

'資料庫連線物件

private connection_

'資料庫命令物件

private command_

'執行資料庫查詢操作,返回斷開的記錄集物件

public function executereader(byval strconnstring,byval strcommandtext)

on error resume next

'開啟資料庫連線

call openconnection(strconnstring)

'設定command

call setcommand(strcommandtext)

dim objrs,arrcol,arrrow,i,intcol,objoutrs

set objrs=command_.execute()

set objoutrs=server.createobject("adodb.recordset")

objoutrs.open objrs

'返回斷開的記錄集

set executereader=objoutrs

if err.number<>0 then

err.clear()

response.write("資料庫讀取操作錯誤")

response.end()

end if

objrs.close()

set objrs=nothing

call closeconnection()

end function

'資料庫更新,刪除操作(儲存過程)

public function executenonquery(byval strconnstring,byval strcommandtext)

on error resume next

'開啟資料庫連線

call openconnection(strconnstring)

'設定command

call setcommand(strcommandtext)

dim intrecordsaffected

command_.execute intrecordsaffected, , adexecutenorecords

executenonquery=intrecordsaffected

if err.number<>0 then

err.clear()

response.write("資料庫更新操作錯誤")

response.end()

end if

call closeconnection()

end function

'執行查詢,並返回查詢所返回的結果集中第一行的第一列。忽略額外的列或行

public function executescalar(byval strconnstring,byval strcommandtext)

on error resume next

'開啟資料庫連線

call openconnection(strconnstring)

'設定command

call setcommand(strcommandtext)

dim objrs

set objrs=command_.execute()

if not objrs.eof then

executescalar=objrs(0)

end if

if err.number<>0 then

err.clear()

response.write("資料庫讀取單值操作錯誤")

response.end()

end if

objrs.close()

set objrs=nothing

call closeconnection()

end function

'取得指定引數名的引數值

public function getparametervalue(byval strparamname)

on error resume next

getparametervalue=command_.parameters(strparamname).value

if err.number<>0 then

err.clear()

getparametervalue=""

end if

end function

'清除引數

public function clearparameter()

dim i

for i=0 to command_.parameters.count - 1

command_.parameters.delete(0)

next

end function

'初始化資料庫連線物件

private sub openconnection(byval strconnstring)

on error resume next

if not isnull(connection_) then

set connection_=server.createobject("adodb.connection")

connection_.cursorlocation=aduseclient

connection_.open(strconnstring)

if err.number<>0 then

err.clear()

closeconnection(connection_)

response.write("資料庫連線錯誤")

response.end()

end if

end if

end sub

'關閉資料庫連線物件

private sub closeconnection()

if not connection_ is nothing then

connection_.close()

set connection_=nothing

end if

end sub

'初始化資料庫命令物件

private sub setcommand(byval strcommandtext)

command_.activeconnection=connection_

if command_.parameters.count>0 then

command_.commandtype=4

else

command_.commandtype=1

end if

command_.prepared=true

command_.commandtext=strcommandtext

end sub

'關閉資料庫命令物件

private sub closecommand()

if not command_ is nothing then

set command_=nothing

end if

end sub

'初始化類

private sub class_initialize()

on error resume next

set command_=server.createobject("adodb.command")

end sub

'銷毀類

private sub class_terminate()

call closecommand()

call closeconnection()

end sub

end class 

%>

三層框架(原始版)

什麼是三層 所謂三層體系結構,是在客戶端與資料庫之間加入了乙個 中間層 也叫業務邏輯層。這裡所說的三層體系,不是指物理上的三層,不是簡單地放置三颱機 器就是三層體系結構,也不僅僅有b s應用才是三層體系結構,三層是指邏輯上的三層,即把這三個層放置到一台機器上。三層體系的應用程式將業務規則 資料 訪問...

原始的抽象

由於排版原因,完整版本請看這裡 原始的抽象 本來預想的寫作計畫總是不斷的被一些新的念頭所打斷,然而這卻是乙個極好的事,人只能在他人的觸動下才更容易產生靈感,這次觸動我得是 cs 我非常贊同 只是不知能否進一步討論 抽象 對於人是什麼 對於計算機是什麼 您可以就以圍棋來談 當然也可以就 nlp來說 我...

原始的抽象

由於排版原因,完整版本請看這裡 原始的抽象 本來預想的寫作計畫總是不斷的被一些新的念頭所打斷,然而這卻是乙個極好的事,人只能在他人的觸動下才更容易產生靈感,這次觸動我得是 cs 我非常贊同 只是不知能否進一步討論 抽象 對於人是什麼 對於計算機是什麼 您可以就以圍棋來談 當然也可以就 nlp來說 我...