欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

ASP教程:自己寫的數(shù)據(jù)庫操作類_ASP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:談用asp編寫類似搜索引擎功能的代碼
首先建一個access 數(shù)據(jù)庫,庫中有一個URLINDEX表,其中URL和Keywords字段分別添加了索引,如下: 以下為引用的內(nèi)容: URL 文本 (索引

數(shù)據(jù)庫操作類在網(wǎng)上一搜一大把,我這并不比那些好,只是是自己寫的,用著更習(xí)慣。所以我這個類沒有什么特別的地方,只是自己用著習(xí)慣罷了,至于效率等方面,歡迎賜教!!

程序代碼:

以下為引用的內(nèi)容:
<%
Class dbClass
'-------------------------------------------------------------------------
'變量說明
'conn-----------connection對象
'strsql---------執(zhí)行查詢的語句
'vTbName--------查詢分頁的表名
'vPKey----------查詢分頁的表的主鍵
'vPgFields------查詢分頁要顯示的字段
'vPgSize--------查詢分頁每頁顯示的記錄數(shù)
'vCurrPg--------查詢分頁顯示的當(dāng)前頁
'vConditions----查詢分頁的條件
'vOrderBy-------查詢分頁的排序
'-------------------------------------------------------------------------
private conn,strsql,vTbName,vPKey,vPgFields,vPgSize,vCurrPg,vConditions,vOrderBy
'類的初始化
private Sub Class_Initialize()
'當(dāng)是MS Sql數(shù)據(jù)庫時設(shè)置以下兩個變量
'dim dbServer '數(shù)據(jù)庫服務(wù)器的名稱或ip地址
'dim dbname '數(shù)據(jù)庫的名字
dim dbPath '若是Access數(shù)據(jù)庫,此處設(shè)置其路徑
dim dbUser '數(shù)據(jù)庫的登錄用戶名
dim dbPass '數(shù)據(jù)庫的登錄密碼
dim connstr
dbPath = "/testasp/data/data.mdb" '設(shè)置數(shù)據(jù)庫路徑
dbUser = "admin"
dbPass = "123456"
'若是access,并且有密碼
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(dbPath) &_
";User ID=" & dbUser & ";Password=;Jet OLEDB:Database Password=" & dbPass
'若是access,并且沒有密碼
'connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & Server.MapPath(dbPath)
'若是ms-sql數(shù)據(jù)庫
'connstr = "Provider = Sqloledb; User ID = " & dbUser & "; Password = " & dbPass &_
' "; Initial Catalog = " & dbname & "; Data Source = " & dbServer
on error resume next
set conn=server.CreateObject("adodb.connection")
conn.open connstr
errMsg "連接數(shù)據(jù)庫"
End Sub
'類結(jié)束
Private Sub Class_terminate()
conn.close
set conn=nothing
End Sub
'-------------------------------------------------------------------------
'給類的變量設(shè)置值
'-------------------------------------------------------------------------
'設(shè)置sql語句
Public Property Let sqlStr(Byval Values)
strsql=Values
End Property
'設(shè)置查詢分頁的表名
public property let tbName(Byval Values)
vTbName=Values
end property
'--------------------------------------------------------
'設(shè)置查詢分頁的表的主鍵
public property let pKey(ByVal Values)
vPKey=Values
end property
'--------------------------------------------------------
'設(shè)置顯示的字段
public property let pgFields(ByVal Values)
vPgFields=Values
end property
'--------------------------------------------------------
'設(shè)置每頁顯示的記錄數(shù)
public property let pgSize(ByVal Values)
vPgSize=Values
end property
'---------------------------------------------------------
'設(shè)置當(dāng)前顯示的頁數(shù)
public property let currPg(ByVal Values)
vCurrPg=Values
end property
'--------------------------------------------------------
'設(shè)置查詢的條件
public property let conditions(ByVal Values)
if Len(Values)>0 then
vConditions=" where "&Values
else
vConditions=" where 1=1 "
end if
end property
'-------------------------------------------------------
'設(shè)置查詢的排序
public property let orderBy(ByVal Values)
if Len(Values)>0 then
vOrderBy=" order by "&Values
else
vOrderBy=Values
end if
end property
'-------------------------------------------------------------
'得到記錄總數(shù)
public property get vRsCount()
if vCurrPg=1 then
sqlc="select count("&vPKey&") as Idcount from "&vTbName&" "&vConditions
set rsc=server.CreateObject("adodb.recordset")
rsc.open sqlc,conn,0,1
RsNum=rsc("IdCount")
rsc.close
set rsc=nothing
if RsNum>0 then
response.Cookies("iRecord")=RsNum
vRsCount=RsNum
else
vRsCount=0
end if
else
vRsCount=request.Cookies("iRecord")
end if
end property
'得到總頁數(shù)
public property get vPgCount()
iRsCount2=vRsCount()
if iRsCount2 mod vPgSize =0 then
vPgCount=int(iRsCount2/vPgSize)
else
vPgCount=int(iRsCount2/vPgSize) 1
end if
end property
'查詢數(shù)據(jù)庫
Public Function rsDB()
on error resume next
'簡單的查詢出結(jié)果
' set rsDB = Server.CreateObject("ADODB.RecordSet")
' rsDB.Open strsql,conn,1,3
Set rsDB=conn.Execute(strsql)
errMsg "查詢數(shù)據(jù)庫"
End Function
'添加,更新,刪除數(shù)據(jù)庫記錄
public Function upDB()
on error resume next
conn.execute(strsql)
errMsg "編輯數(shù)據(jù)庫記錄"
end Function
'-------------------------------------------------------------------------
'用來實現(xiàn)分頁的記錄集函數(shù)
public function pageRs()
on error resume next
dim startRs
startRs=(vCurrPg-1)*vPgSize
'-------------------------------------------------------------------------------------------
'使用此語句的話要根據(jù)參數(shù)修改代碼,具體的是若排序為asc則<改為>,min改為max
' if startRs=0 then
' strsql="select top "&vPgSize&" "&vPgFields&" from "&vTbName&" "&vConditions&" "&vOrderBy
' else
' strsql="select top "&vPgSize&" "&vPgFields&" from "&vTbName&" "&vConditions&" and "&vPKey&" < "
' strsql=strsql&"(select min("&vPKey&") from (select top "&startRs&" "&vPKey&" from "
' strsql=strsql&vTbName&" "&vConditions&" "&vOrderBy&") as idTable) "&vOrderBy
' end if
'---------------------------------------------------------------
if startRs=0 then
strsql="select top "&vPgSize&" "&vPgFields&" from "&vTbName&" "&vConditions&" "&vOrderBy
else
strsql="select top "&vPgSize&" "&vPgFields&" from "&vTbName&" "&vConditions&" and "&vPKey&" not "
strsql=strsql&"in (select top "&startRs&" "&vPKey&" from "&vTbName&" "&vConditions&" "&vOrderBy
strsql=strsql&") "&vOrderBy
end if
'-------------------------------------------------------------------
set pageRs=server.CreateObject("adodb.recordset")
pageRs.open strsql,conn,0,1
errMsg "記錄分頁"
end function
'------sql用存儲過程分頁------------------------------------------------------
public function sqlPage()
on error resume next
Set sqlPage=server.CreateObject("Adodb.RecordSet")
Set Cm=Server.CreateObject("Adodb.Command")
Cm.CommandType = 4
Cm.ActiveConnection = conn
Cm.CommandText="sp_Util_Page"
Cm.parameters(1) = vPgFields
Cm.parameters(2) = vTbName
Cm.parameters(3) = vConditions
Cm.parameters(4) = vOrderBy
Cm.parameters(5) = vPKey
Cm.parameters(6) = vCurrPg
Cm.parameters(7) = vPgSize
Cm.parameters(8) = vRsCount()
Cm.parameters(9) = ""
sqlPage.CursorLocation = 3
sqlPage.LockType = 1
sqlPage.Open Cm
errMsg "記錄分頁"
end function
'----------------------------------------------------------------------------
'關(guān)閉記錄集objRs
'----------------------------------------------------------------------------
Public Function cRs(ByVal ObjRs)
ObjRs.close()
Set ObjRs = Nothing
End Function
'----------------------分頁的頁碼導(dǎo)航---------------------------------------
public function pageNav()
iRsCount=vRsCount()'總記錄數(shù)
mypage=vCurrPg'當(dāng)前頁數(shù)
PgCount=vPgCount()'總頁數(shù)
prePage=mypage-1
if prePage<1 then
prePage=1
end if
nextPage=mypage 1
if nextPage>PgCount then
nextPage=PgCount
end if
pagestr="<div id=""fy""><span id=""rpc"">總共有"&iRsCount&"條記錄 "&mypage&"/"&PgCount&"</span>"
pagestr=pagestr&"<a href='?currpage=1' class='aW'>首頁</a><a href='?currpage="&prePage&"' class='aW'>前一頁</a>"
if (mypage-1) mod 4=0 then
firstPage=mypage
elseif int((mypage-1)/4)=0 then
firstPage=1
else
firstPage=int((mypage-1)/4)*4 1
end if
endPage=firstPage 4
astr=""
for i=firstPage to endPage
astr=astr&"<a href='?currpage="&i&"'"
if Cstr(mypage)=Cstr(i) then
astr=astr&" id='currP'"
end if
astr=astr&">"&i&"</a>"
if i>PgCount-1 then exit for
next
astr=astr&"<a href='?currpage="&nextPage&"' class='aW'>后一頁</a><a href='?currpage="&PgCount&"' class='aW'>尾頁</a></div>"
pagestr=pagestr&astr
pageNav=pagestr
end function
'輸出帶分頁功能的table
Function showTb(ByVal TbTil)
set rsTb=pageRs()'若是存儲過程就調(diào)用sqlPage()
tbRs= rsTb.getrows()
cRs(rsTb)
iTblRow=Ubound(tbRs,2)
iTblCol=Ubound(TbTil)
tbStr="<table border='0' cellspacing='0' cellpadding='0'><tbody>"
for r1=0 to iTblCol
tr1=tr1&"<td width='"&split(TbTil(r1),"|")(1)&"'>"&split(TbTil(r1),"|")(0)&"</td>"
next
tr1="<tr>"&tr1&"</tr>"
for ri=0 to iTblRow
for ci=0 to iTblCol
td=td&"<td width='"&split(TbTil(ci),"|")(1)&"'>"&tbRs(ci,ri)&"</td>"
next
tr=tr&"<tr>"&td&"</tr>"
td=null
next
TbTil=null
tbRs=null
response.Write(tbStr&tr1&tr&"<tr><td colspan='"&iTblCol 1&"'>"&pageNav()&"</td></tr></tbody></table>")
tbStr=null
tr1=null
tr=null
End Function
'打印sql語句,以便語句有錯誤時檢查
Public Sub prnSql()
response.Write(strsql)
End Sub
'-------------------------------------------------------------------------
'容錯函數(shù)
'-------------------------------------------------------------------------
Private Function errMsg(errMsg)
If Err.number<>0 Then
'出現(xiàn)問題可利用此處代碼打印出描述信息,方便調(diào)試。可注釋掉
response.Write(Cstr(Err.description)&"<br>")
Err.Clear
Response.Write "<font color='#FF0000'>"&errMsg&"出錯</font>" '注釋
Response.End()
End If
End Function
'-------------------------------------------------------------------------
'容錯函數(shù)結(jié)束
'-------------------------------------------------------------------------
End Class
%>

分享:FileSystemObject 示例代碼
在本節(jié)描述的示例代碼,提供真實的例子來示范在 FileSystemObject 對象模式中可用的許多功能。該代碼顯示了如何一起使用對象模式的所有功能,以及如何在您自己的代碼中有效地使用這些功能

來源:模板無憂//所屬分類:ASP教程/更新時間:2009-06-18
相關(guān)ASP教程