WorldSoftware  
世界軟件,軟件的世界!
 說明

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

%
>


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
 %
>
posted on 2006-08-09 20:15  WorldNet  阅读(291)  评论(0编辑  收藏  举报