0

我正在一个 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>
4

3 回答 3

1

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

http://www.connectionstrings.com/

于 2008-10-12T10:10:33.710 回答
0

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

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

于 2008-10-13T01:38:26.257 回答
0

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

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

瞧,它有效!

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

提供者=Microsoft.Jet.OLEDB.4.0;数据源=|DataDirectory|\ArtDatabase.mdb

效果很好。

感谢您的帮助和输入家伙!

于 2008-10-14T14:24:20.797 回答