Domanda

Sto lavorando su un sito Web ASP.NET in cui sto usando un asp: ripetitore con paging eseguito tramite un file code-behind VB.NET. Tuttavia, ho problemi con la connessione al database. Per quanto ne so, il paging funziona, ma non riesco a ottenere dati sicuri.

Il database è un database di Microsoft Access. La funzione che dovrebbe accedere al database è:

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>
È stato utile?

Soluzione 3

Problema risolto! Praticamente ho sbattuto la testa contro il muro ora considerando quanto fosse semplice. Era il Page_Load, l'ho cambiato nel seguente:

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

E voilà, funziona!

Inoltre, per la stringa di connessione, ho finito per usare:

Provider = Microsoft.Jet.OLEDB.4.0; Origine dati = | DataDirectory | \ ArtDatabase.mdb

Che funziona alla grande.

Grazie per il vostro aiuto e input ragazzi!

Altri suggerimenti

Se hai bisogno di aiuto con le stringhe di connessione, questo sito è l'ultima risorsa!

http://www.connectionstrings.com/

Stai creando manualmente la stringa di connessione? Se è così ... non farlo! Utilizzare Esplora server per creare la connessione. Quindi evidenzialo e vai alla finestra Proprietà, e vedrai la stringa di connessione che utilizza.

Inoltre, l'utilizzo di Esplora server ti permetterà di sfogliare le tue tabelle e persino aprirle per vedere i tuoi dati. Almeno questo ti dirà con certezza se i tuoi dati sono accessibili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top