Conn.asp
存儲Ado數據庫連接字符串.
<%
dim ConnString
ConnString="Provider=SQLOLEDB;Server=localhost;DataBase=pubs;UID=sa;PWD=123"
Set Conn=server.CreateObject("Adodb.Connection")
Conn.open ConnString
%>
dim ConnString
ConnString="Provider=SQLOLEDB;Server=localhost;DataBase=pubs;UID=sa;PWD=123"
Set Conn=server.CreateObject("Adodb.Connection")
Conn.open ConnString
%>
SqlHelper.asp
屬性:
NotRecord : 是否有記錄 [隻讀]
isFirstPage: 否是第一頁 [隻讀]
isLastPage: 否是最後一頁 [隻讀]
pageRecord: 頁的記錄數 [可讀寫] 默認為10
page: 前頁數 [可讀寫]
largePage:總頁數 [可讀寫]
方法:
runSqlRuturnRs:運行SQL語句,返回記錄集 [要先設置相關屬性值]
runSql:運行SQL語句,包含有事物處理
完整源程序如下:或點此進行下載
<!--#include file="Conn.asp"-->
<%
'***********************************************************
'*className:sqlHelper
'*property:isNotRecord(是否有記錄[隻讀])、isFirstPage(是否是第一頁[隻讀])、isLastPage(是否是最後一頁[隻讀])
'* pageRecord(每頁的記錄數[可讀寫])、page(當前頁數[可讀寫])、largePage(總頁數[可讀寫])
'*methor:runSqlRuturnRs(運行SQL語句,返回記錄集[要先設置相關屬性值])、runSql(運行SQL語句,包含有事物處理)、closeConn(關閉數據連接)
'*function:封裝ADO數據庫操作
'***********************************************************
Class sqlHelper
'初始化類
private sub Class_Initialize()
ppage=1 '默認為第一頁
ppageRecord=10 '默認顯示10條記錄
pisNotRecord=false '是否有記錄?false
pisFirstPage=false '是否是第一頁?False
pisLastPage=false '是否是最後一頁?false
end sub
private pisNotRecord '記錄是否有記錄
'定義一個屬性,返回記錄是否有記錄。無記錄返回True,有記錄返回False
public Property Get isNotRecord()
isNotRecord=pisNotRecord
end property
private pisFirstPage '記錄是否是第一頁
'定義一個屬性,返回記錄集是否是第一頁。
public Property Get isFirstPage()
isFirstPage=pisFirstPage
end property
private pisLastPage '記錄是否最后一頁
'定義一個屬性,返回記錄集是否是最后一頁。
public Property Get isLastPage()
isLastPage=pisLastPage
end property
private ppageRecord '記錄每頁的記錄數
'定義一個屬性,設置記錄每頁需顯示的記錄數
public Property Let pageRecord(myPageRecord)
if Isnumeric(myPageRecord) and myPageRecord>0 and myPageRecord<200 then '隻能為數字,且要大於0,小於200
ppageRecord=myPageRecord
else
ppageRecord=10 '當第頁記錄數定義不合法時,強制定義為每頁顯示10條
end if
end Property
'定義一個屬性,返回記錄每頁需顯示的記錄數
public Property Get pageRecord()
pageRecord=ppageRecord
end Property
private ppage,plargePage '記錄當前的頁數,最大的頁數
'定義一個屬性,設置當前的頁數
Public Property Let page(myPage)
if Isnumeric(myPage) and myPage>0 then '隻能為數字,且要大於0
ppage=myPage
else
ppage=1 '當頁數設置為不合法時,強制定位到第一頁
end if
end Property
'定義一個屬性,返回當前的頁數
public Property Get page()
page=ppage
end Property
'定義一個屬性,返回當前的總頁數
public Property Get largePage()
largePage=plargePage
end Property
'運行Select等SQL語句返回記錄集
Public Function runSqlRuturnRs(strSql)
Set Rs=server.CreateObject("Adodb.RecordSet")
Rs.open strSql,Conn,1,1
if Rs.recordcount=0 then
pisNotRecord=true '無記錄
plargePage=0
ppage=0
else
pisNotRecord=false
Rs.pagesize=ppageRecord '定制每頁記錄數
plargePage=Rs.pagecount '記錄總頁數
if ppage>=plargePage then
ppage=plargePage
pisLastPage=true '標識已到最后一頁
end if
if ppage=1 then
pisFirstPage=true '標識已是第一頁
end if
Rs.absolutepage=ppage '定位到當前頁
end if
Set runSqlRuturnRs=Rs
End Function
'運行Insert、Update、Delete等SQL語句,包含事物操作
Public Function runSql(strSql)
on error resume next
Conn.errors.clear()
Conn.begintrans()
Conn.execute strSql
if Conn.errors.count>0 then
Conn.rollbacktrans()
response.Write("<script>alert('程序出現意外錯誤,操作失敗!');history.go(-1);</script>")
response.End()
else
Conn.committrans()
set runSql=true
end if
End Function
'關閉數據庫的鏈接
Public function closeConn()
Conn.close()
end function
'釋放類所做的動作
private sub Class_Terminate()
if Conn.state=1 then '如果數據庫還是打開狀態,則關閉之。
conn.close()
end if
end sub
End Class
%>
<%
'***********************************************************
'*className:sqlHelper
'*property:isNotRecord(是否有記錄[隻讀])、isFirstPage(是否是第一頁[隻讀])、isLastPage(是否是最後一頁[隻讀])
'* pageRecord(每頁的記錄數[可讀寫])、page(當前頁數[可讀寫])、largePage(總頁數[可讀寫])
'*methor:runSqlRuturnRs(運行SQL語句,返回記錄集[要先設置相關屬性值])、runSql(運行SQL語句,包含有事物處理)、closeConn(關閉數據連接)
'*function:封裝ADO數據庫操作
'***********************************************************
Class sqlHelper
'初始化類
private sub Class_Initialize()
ppage=1 '默認為第一頁
ppageRecord=10 '默認顯示10條記錄
pisNotRecord=false '是否有記錄?false
pisFirstPage=false '是否是第一頁?False
pisLastPage=false '是否是最後一頁?false
end sub
private pisNotRecord '記錄是否有記錄
'定義一個屬性,返回記錄是否有記錄。無記錄返回True,有記錄返回False
public Property Get isNotRecord()
isNotRecord=pisNotRecord
end property
private pisFirstPage '記錄是否是第一頁
'定義一個屬性,返回記錄集是否是第一頁。
public Property Get isFirstPage()
isFirstPage=pisFirstPage
end property
private pisLastPage '記錄是否最后一頁
'定義一個屬性,返回記錄集是否是最后一頁。
public Property Get isLastPage()
isLastPage=pisLastPage
end property
private ppageRecord '記錄每頁的記錄數
'定義一個屬性,設置記錄每頁需顯示的記錄數
public Property Let pageRecord(myPageRecord)
if Isnumeric(myPageRecord) and myPageRecord>0 and myPageRecord<200 then '隻能為數字,且要大於0,小於200
ppageRecord=myPageRecord
else
ppageRecord=10 '當第頁記錄數定義不合法時,強制定義為每頁顯示10條
end if
end Property
'定義一個屬性,返回記錄每頁需顯示的記錄數
public Property Get pageRecord()
pageRecord=ppageRecord
end Property
private ppage,plargePage '記錄當前的頁數,最大的頁數
'定義一個屬性,設置當前的頁數
Public Property Let page(myPage)
if Isnumeric(myPage) and myPage>0 then '隻能為數字,且要大於0
ppage=myPage
else
ppage=1 '當頁數設置為不合法時,強制定位到第一頁
end if
end Property
'定義一個屬性,返回當前的頁數
public Property Get page()
page=ppage
end Property
'定義一個屬性,返回當前的總頁數
public Property Get largePage()
largePage=plargePage
end Property
'運行Select等SQL語句返回記錄集
Public Function runSqlRuturnRs(strSql)
Set Rs=server.CreateObject("Adodb.RecordSet")
Rs.open strSql,Conn,1,1
if Rs.recordcount=0 then
pisNotRecord=true '無記錄
plargePage=0
ppage=0
else
pisNotRecord=false
Rs.pagesize=ppageRecord '定制每頁記錄數
plargePage=Rs.pagecount '記錄總頁數
if ppage>=plargePage then
ppage=plargePage
pisLastPage=true '標識已到最后一頁
end if
if ppage=1 then
pisFirstPage=true '標識已是第一頁
end if
Rs.absolutepage=ppage '定位到當前頁
end if
Set runSqlRuturnRs=Rs
End Function
'運行Insert、Update、Delete等SQL語句,包含事物操作
Public Function runSql(strSql)
on error resume next
Conn.errors.clear()
Conn.begintrans()
Conn.execute strSql
if Conn.errors.count>0 then
Conn.rollbacktrans()
response.Write("<script>alert('程序出現意外錯誤,操作失敗!');history.go(-1);</script>")
response.End()
else
Conn.committrans()
set runSql=true
end if
End Function
'關閉數據庫的鏈接
Public function closeConn()
Conn.close()
end function
'釋放類所做的動作
private sub Class_Terminate()
if Conn.state=1 then '如果數據庫還是打開狀態,則關閉之。
conn.close()
end if
end sub
End Class
%>