vb改成asp
<script language="VB" runat="server">
'定义若干页面级变量和常量,主要用来分页
Dim conn As OleDbConnection '数据库连接对象变量
Dim PageSize As Integer '每行显示多少条记录
Dim StartPosition As Integer '从第几条记录开始显示
Dim CurrentPage As Integer '当前显示第几页
Dim TotalPage As Integer '该变量用来表示总共多少页
Sub Page_Load(Sender As Object, E As EventArgs)
'建立Connection对象
conn= New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("guest.mdb"))
'从web.Config文件中读取数据
PageSize=ConfigurationSettings.AppSettings("PageSize")
'如果没有提交表单,就执行下面的绑定函数
If Not Page.IsPostBack Then
'下面调用函数,绑定数据
Call BindData()
End If
End Sub
'数据绑定过程,供其它函数调用
Sub BindData()
'在绑定数据之前,先计算得到有关变量**************************************************************
'先调用函数,返回总共有多少页
TotalPage=GetTotalPage()
'计算当前要显示的页
If Request.QueryString("commandname")<>"" Then
'这种情况表示选择了上一页或下一页,因此从Session中读取,并根据具体情况加1或减1
Select Case Request.QueryString("commandname")
Case "first"
CurrentPage=1
Case "prev"
CurrentPage=CInt(Session("CurrentPage"))-1
If CurrentPage<1 Then CurrentPage=1 '如果小于1,当然应该显示第1页
Case "next"
CurrentPage=CInt(Session("CurrentPage"))+1
If CurrentPage>TotalPage Then CurrentPage=TotalPage '如果大于总数,就显示最后页
Case "last"
CurrentPage=TotalPage
End Select
'选择完毕,重新将页码保存到Session中
Session("CurrentPage")=CurrentPage
ElseIf Not (Session("CurrentPage") Is Nothing) Then
'这种情况表示没有选择下面的页码,但也不是刚打开页面,可能是提交了表单,或者从回复和删除页面返回。
'此时应该从Session中读取。(当然,如果要考虑复杂,还可以细分各种情况)
CurrentPage = Session("CurrentPage")
Else
'这种情况表示刚刚打开页面,还没有提交或选择页码,因此另其为1
CurrentPage=1
Session("CurrentPage")=CurrentPage
End If
'下面开始绑定数据***********************************************************************************
Dim adp As New OleDbDataAdapter("select * from guest order by submit_date Desc", conn) '建立DataAdapter对象
Dim ds As New DataSet() '建立DataSet对象
'计算从第几条记录开始显示,应该是当前页的第1条记录,请仔细理解其中的数学计算
'注意记录索引从0开始
StartPosition=(CurrentPage-1)*PageSize
'这里的Fill方法有4个参数,第2个表示从第几行开始,第3个表示总共要多少行
adp.Fill(ds,StartPosition,Pagesize,"guest") '填充DataSet对象
MyRepeater.DataSource=DS.Tables("guest").DefaultView '指定数据源
MyRepeater.DataBind() '执行绑定
'下面设置有关显示总页数和当前显示页数信息*************************************************************
theCurrentPage.Text=CurrentPage.Tostring
theTotalPage.Text=TotalPage.Tostring
End Sub
'该函数用来返回总共有多少页
Function GetTotalPage()
'下面先返回总共有多少条记录
Dim TotalRecord As Integer
Dim strsql As String = "select count(*) as total From guest"
Dim cmd As New OleDbCommand(strsql, conn)
conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
If dr.Read() Then
' intCount = Int32.Parse(dr.Item("total").ToString)
TotalRecord = dr.Item("total")
Else
TotalRecord = 0
End If
Conn.Close()
'下面计算总共有多少页
If (TotalRecord Mod PageSize)=0 Then
'如果能整除,则
GetTotalPage=TotalRecord/PageSize '返回函数值
Else
'如果不能整除,则用整除\并+1
GetTotalPage=TotalRecord\PageSize+1 '返回函数值
End If
End Function
这些代码谁给该成ASP
我感谢了