VB.NET 코드 숨김 파일을 통해 수행 된 페이징과 함께 asp : repeater를 사용하는 ASP.NET 웹 사이트에서 작업하고 있습니다. 그래도 데이터베이스 연결에 문제가 있습니다. 내가 알 수있는 한, 페이징은 작동하지만 데이터를 확실하게 알 수는 없습니다.ASP.NET OleDbConnection 문제
데이터베이스는 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>
안녕하세요. 오류가 발생하거나 아무것도 표시되지 않습니까? autogenerate = true를 사용하여 DataGrid에 바인딩하여 시도 할 수 있습니다. – alexmac
오류가 발생하지 않으며 아무 것도 표시되지 않습니다. – Matt
중계기에 DataSourceID = "AccessDataSource1"을 지정하면 데이터를 잘 가져 오지만 필요한 페이징을 지원하지 않습니다. – Matt