본질적으로이 오류가 발생하여 수정하려고 시도했지만 아무 문제가 없습니다. 나는 주변을 둘러 보았고, 그 해결책들 중 어느 것도 나를 도왔다 고 생각하지 않는다. 내가하려는 것은 내 Access 데이터베이스 내의 데이터로 레이블을 채우는 것입니다. 그러나 필요한 필드 중 7 개만 채우고 "인덱스가 배열 범위 밖에 있습니다"라는 오류 메시지가 표시됩니다. 누구든지 내 VB 코드를 빠르게 살펴보고 손을 줄 수 있습니까?"인덱스가 배열의 경계를 벗어났습니다."VB 오류
Private Sub NR1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NR1.Click
Try
Dim cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & My.Application.Info.DirectoryPath.ToString() & "\Flix.Accdb;Persist Security Info=False;")
If cn.State = ConnectionState.Open Then
cn.Close()
End If
cn.Open()
Dim dr1 As OleDbDataReader
Dim com1 As New OleDbCommand
com1.CommandText = "select [Title],[Poster],[Description],[Classification], [Rating], [Stars], [Director], [MakeYear], [Price], [RunningTime] from tbl_newreleases where ID = '" & "1" & "'"
com1.Connection = cn
dr1 = com1.ExecuteReader
If dr1.Read Then
NRTitle.Text = (dr1(9)).ToString()
NRPoster.ImageLocation = (dr1(1)).ToString()
NRDescription.Text = (dr1(2)).ToString()
NRClassification.ImageLocation = (dr1(3)).ToString()
NRStars.ImageLocation = (dr1(4)).ToString()
lblCast.Text = (dr1(5)).ToString
lblDirector.Text = (dr1(6)).ToString
lblYear.Text = (dr1(8)).ToString
lblPrice.Text = (dr1(10)).ToString
lblRunTime.Text = (dr1(7)).ToString
End If
cn.Close()
dr1.Close()
Return
Catch ex As Exception
MsgBox(ex.Message(), MsgBoxStyle.Critical, "Error...")
End Try
End Sub
빠른 응답을 보내 주셔서 감사합니다. CommandText에서 dr (10)과 해당 값을 제거하면 같은 예외가 발생하고 인구는 전혀 발생하지 않습니다. 나는 이것에 아주 새롭다, 그래서 나는 너의 도움을 진짜로 평가한다. – farewell