ASP.NET OleDbConnection Проблема - PullRequest
       27

ASP.NET OleDbConnection Проблема

0 голосов
/ 12 октября 2008

Я работаю на веб-сайте ASP.NET, где я использую ретранслятор asp: с подкачкой страниц через файл кода 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 ]

1 голос
/ 12 октября 2008

Если вам нужна помощь со строками подключения, этот сайт - основной ресурс!

http://www.connectionstrings.com/

0 голосов
/ 14 октября 2008

Проблема решена! Довольно сильно ударился головой о стену, учитывая, насколько это было просто. Это была 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

Что прекрасно работает.

Спасибо за вашу помощь и вклад, ребята!

0 голосов
/ 13 октября 2008

Вы создаете строку подключения вручную? Если так ... не делай этого! Используйте обозреватель сервера для создания вашего соединения. Затем выделите его и перейдите в окно «Свойства», и вы увидите строку подключения, которую он использует.

Кроме того, использование обозревателя серверов позволит вам просматривать таблицы и даже открывать их, чтобы увидеть ваши данные. По крайней мере, это точно скажет вам, доступны ли ваши данные.

...