我正在使用ASP.NET网站,我正在使用asp:repeater,通过VB.NET代码隐藏文件完成分页。我遇到了数据库连接问题。据我所知,分页工作正常,但我无法确定数据。

该数据库是Microsoft Access数据库。应该访问数据库的函数是:

Dim pagedData As New PagedDataSource

Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
    doPaging()
End Sub

Function getTheData() As DataTable
    Dim DS As New DataSet()
    Dim strConnect As New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0;Data Source=App_Data/ArtDatabase.mdb")
    Dim objOleDBAdapter As New OleDbDataAdapter("SELECT ArtID, FileLocation, Title, UserName, ArtDate FROM Art ORDER BY Art.ArtDate DESC", strConnect)
    objOleDBAdapter.Fill(DS, "Art")

    Return DS.Tables("Art").Copy
End Function

Sub doPaging()
    pagedData.DataSource = getTheData().DefaultView
    pagedData.AllowPaging = True
    pagedData.PageSize = 2

    Try
        pagedData.CurrentPageIndex = Int32.Parse(Request.QueryString("Page")).ToString()
    Catch ex As Exception
        pagedData.CurrentPageIndex = 0
    End Try

    btnPrev.Visible = (Not pagedData.IsFirstPage)
    btnNext.Visible = (Not pagedData.IsLastPage)

    pageNumber.Text = (pagedData.CurrentPageIndex + 1) & " of " & pagedData.PageCount

    ArtRepeater.DataSource = pagedData
    ArtRepeater.DataBind()
End Sub

ASP.NET是:

<asp:Repeater ID="ArtRepeater" runat="server">
    <HeaderTemplate>
        <h2>Items in Selected Category:</h2>
    </HeaderTemplate>  
    <ItemTemplate>
        <li>
            <asp:HyperLink runat="server" ID="HyperLink"
                NavigateUrl='<%# Eval("ArtID", "ArtPiece.aspx?ArtID={0}") %>'>
                <img src="<%# Eval("FileLocation") %>"
                    alt="<%# DataBinder.Eval(Container.DataItem, "Title") %>t"/> <br />
                <%# DataBinder.Eval(Container.DataItem, "Title") %>
            </asp:HyperLink>
        </li>
    </ItemTemplate>
</asp:Repeater>
有帮助吗?

解决方案 3

问题解决了!现在考虑到它是多么简单,几乎撞到墙上。这是Page_Load,我将其更改为以下内容:

Protected Sub Page_Load1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    doPaging()
End Sub

瞧,它有效!

此外,对于连接字符串,我最终使用:

Provider = Microsoft.Jet.OLEDB.4.0;数据源= | DataDirectory | \ ArtDatabase.mdb

哪个效果很好。

感谢您的帮助和投入!

其他提示

如果您需要有关连接字符串的帮助,此站点是最终资源!

http://www.connectionstrings.com/

您是手动创建连接字符串吗?如果是这样的话......不要那样做!使用服务器资源管理器创建连接。然后突出显示它并转到“属性”窗口,您将看到它使用的连接字符串。

此外,使用服务器资源管理器可以浏览表格,甚至可以打开它们以查看数据。至少那会告诉你确定你的数据是否可以访问。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top