ASP.NET OleDbConnection Проблема
-
10-07-2019 - |
Вопрос
Я работаю на веб-сайте 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
Проблема решена! Довольно сильно ударился головой о стену, учитывая, насколько это было просто. Это была 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
Что прекрасно работает.
Спасибо за вашу помощь и вклад, ребята! Р>
Другие советы
Если вам нужна помощь со строками подключения, этот сайт - основной ресурс!
Вы создаете строку подключения вручную? Если так ... не делай этого! Используйте обозреватель сервера для создания вашего соединения. Затем выделите его и перейдите в окно «Свойства», и вы увидите строку подключения, которую он использует.
Кроме того, использование обозревателя серверов позволит вам просматривать таблицы и даже открывать их для просмотра ваших данных. По крайней мере, это точно скажет вам, доступны ли ваши данные.