打印本文 打印本文 关闭窗口 关闭窗口
ASP.net的ACCESS数据分页方案
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2576  更新时间:2009/4/23 10:41:04  文章录入:mintao  责任编辑:mintao
sp;     Dim i As Integer
                DT = AppCache("Index")
                GetPage = Convert.ToInt32(HttpContext.Current.Request.QueryString("Page"))
                ListCount = RecordsCount()
                PageCount = CInt(Fix(ListCount / PageSizeNum) + 1)
                If ListCount Mod PageSizeNum = 0 Then
                    PageCount = PageCount - 1
                End If
                If GetPage = 0 Or PageCount < GetPage Then
                    GetPage = 1
                End If
                GetPage = GetPage - 1
                If ListCount < PageSizeNum Or GetPage = PageCount Then
                    EPage = ListCount - 1
                Else
                    EPage = (GetPage * PageSizeNum + PageSizeNum) - 1
                End If
                For i = (GetPage * PageSizeNum) To EPage
                    PageIndex += DT.Rows(i)(0) & ","
                    If i = ListCount - 1 Then Exit For
                Next
                PageIndex = Left(PageIndex, Len(PageIndex) - 1)
                Return " Where " & IndexStr & " In(" & PageIndex & ")"
            Catch ex As Exception
                Echo(".PageWhere " & ex.Message.ToString)
            End Try
        End Function
        Private Sub WriteIndex()
            Try
                If (AppCache("Index") Is Nothing) Then
                    Dim Adapt As OleDbDataAdapter
                    Adapt = New OleDbDataAdapter("Select " & IndexStr & " From " & TableStr & OrderStr, Conn)
                    DS = New DataSet
                    DS.Clear()
                    Adapt.Fill(DS)
                    AppCache("Index") = DS.Tables(0)
                End If
            Catch ex As Exception
                Echo(".WriteIndex " & ex.Message.ToString)
            End Try
        End Sub
        Private Property AppCache(ByVal SetName As String)
            Get
                Return HttpContext.Current.Application.Get(ScriptName & "_" & TableStr & "_" & SetName)
            End Get
            Set(ByVal Value)
                HttpContext.Current.Application.Lock()
                HttpContext.Current.Application.Set(ScriptName & "_" & TableStr & "_" & SetName, Value)
                HttpContext.Current.Application.UnLock()
            End Set
        End Property
        Private Sub Echo(ByVal Value As String)
            Dispose()
            HttpContext.Current.Response.Write(Value)
            HttpContext.Current.Response.End()
        End Sub
        Protected Overrides Sub Finalize()
            MyBase.Finalize()
            Dispose()
        End Sub
        Public Overrides Sub Dispose()
            If Not (Conn Is Nothing) Then
                Conn.Dispose()
            End If
        End Sub
    End Class
End Namespace

Pages.js

function Pages(requestpage,MaxPage,RecordCount,PageName){
var p,ii;
if((requestpage-1)%10==0)
 p=(requestpage-1)/10;
else
 p=parseInt((requestpage-1)/10);
 document.write(''''<font class="smalltxt">'''');
 document.write(''''&nbsp;''''+RecordCount+''''&nbsp;'''');
 document.write(''''&nbsp;''''+requestpage+''''/''''+MaxPage+''''&nbsp;&nbsp;Pages&nbsp;'''');
if(requestpage==1)
 document.write(''''&lt;'''');
else
 document.write(''''<a href=?''''+PageName+''''=1 title=首页>&lt;</a>'''');
 if(p*10>0)
 {
  document.write('''' <a href=?''''+PageName+''''=''''+p*10+'''' title=上十页>..</a>'''');
 }
 for(ii=p*10+1;ii<=p*10+10;ii++)
 {
  if(ii==requestpage)
  {
   document.write ('''' <u><font color="#CC0033">''''+ii+''''</font></u> '''');
  }
  else
  {
   document.write ('''' <a href=?''''+PageName+''''=''''+ii+''''>''''+ii+''''</a> '''');
  }
 if(ii==MaxPage)
  break;
 }


if(ii<MaxPage)
{
 document.write(''''<a href=?''''+PageName+''''=''''+ii+'''' title=下十页>..</a> '''');
 if(requestpage==MaxPage)
  document.write(''''&gt;'''');
 else
  document.write(''''<a href=?''''+PageName+''''=''''+MaxPage+'''' title=尾页>&gt;</a>'''');
}
 document.write(''''</font>&nbsp;<input class="sBut" type="text" size="1" name="page" value="''''+requestpage+''''" class="PageInput">&nbsp;<input class="sBut" type="button" value="GO"  onclick="window.location=\''''?''''+PageName+''''=\''''+page.value">'''');
}

调用示范

Dim Net = New NetPage

        ConnStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & Server.MapPath("DataBase/RYBBS.mdb")
        Dim i As Integer
       

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口