문제

VB.NET 코드-비만 파일을 통해 PAGING을 사용하여 ASP : Repeater를 사용하는 ASP.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

그리고 Voila, 그것은 작동합니다!

또한 연결 문자열의 경우 다음을 사용했습니다.

제공자 = microsoft.jet.oledb.4.0; data source = | datadirectory | artdatabase.mdb

잘 작동합니다.

당신의 도움과 입력 담당자에 감사드립니다!

다른 팁

연결 문자열에 대한 도움이 필요한 경우이 사이트는 최고의 자원입니다!

http://www.connectionstrings.com/

손으로 연결 문자열을 만들고 있습니까? 그렇다면 ... 그렇게하지 마십시오! 서버 탐색기를 사용하여 연결을 만듭니다. 그런 다음 강조 표시하고 속성 창으로 이동하면 사용하는 연결 문자열이 표시됩니다.

또한 서버 탐색기를 사용하면 테이블을 탐색하고 데이터를 볼 수 있습니다. 적어도 데이터에 액세스 할 수 있는지 확인할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top