Avatar billede disco_keld Nybegynder
14. juli 2003 - 18:07 Der er 6 kommentarer og
1 løsning

Hvad betyder "System.IndexOutOfRangeException: Kommentar"=

Hejsa....

Når jeg laver en Query op imod min lille Access database, så for jeg denne error smid i hovedet!

System.IndexOutOfRangeException: Kommentar

Kommentar er et felt i db. Posterne indeholder ikke noget data endnu!

Hvad betyder den exception der?

Mvh

DK
Avatar billede mugs Novice
14. juli 2003 - 18:13 #1
Prøv at indsætte en post i db.
Avatar billede simonvalter Praktikant
14. juli 2003 - 18:19 #2
jeg går ud fra du har gang i noget java .. du får nok mere ud af at oprette spm der ..
og post din Query kode ... det ville hælpe
Avatar billede simonvalter Praktikant
14. juli 2003 - 18:20 #3
eller er det c# ?
Avatar billede simonvalter Praktikant
14. juli 2003 - 18:25 #4
ok vb.net ;) der kan jeg ikke følge med .
Avatar billede disco_keld Nybegynder
15. juli 2003 - 00:12 #5
Hejsa...

Jeg koder i VB.NET hehe.

Nu har jeg "manuelt" smidt data i db. Nu kommer den ikke med nogen fejl, men jeg kan så tilgengæld heller ikke trække dataene ud, opdatere det eller tilføje nyt.

Jeg kan kun slette en hel række, hvor Kommentar feltet så også bliver slettet.

Hehe sært..........

Min kode til at indsætte:

Datatilgangs laget
--------------------------------------------------------------------------

Public Sub Add(ByVal genreId As Integer, ByVal statusID As Integer, ByVal sVideoId As String, ByVal sTitle As String, ByVal sLanguage As String, ByVal sMovieLength As String, ByVal sTapeLength As String, ByVal sMedia As String, ByVal sImage As String, ByVal sComment As String)
            Dim oConnection As New OleDbConnection(DB("Movies"))
            Dim oCommand As New OleDbCommand
            Dim oTrans As OleDbTransaction
            Try
                oConnection.Open()
                oTrans = oConnection.BeginTransaction
                With oCommand
                    .Connection = oTrans.Connection
                    .Transaction = oTrans
                    .CommandText = "INSERT INTO tblMovies (GenreID, StatusID, Video_id, Titel, Sprog, Film_længde, Bånd_længde, Medie, Billede, Kommentar) VALUES (@GenreID, @StatusID, @Video_id, @Titel, @Sprog, @Film_længde, @Bånd_længde, @Medie, @Billede, @Kommentar)"
                    .CommandType = CommandType.Text
                    .Parameters.Add("@GenreID", genreId)
                    .Parameters.Add("@StatusID", statusID)
                    .Parameters.Add("@Video_id", sVideoId)
                    .Parameters.Add("@Titel", sTitle)
                    .Parameters.Add("@Sprog", sLanguage)
                    .Parameters.Add("@Film_længde", sMovieLength)
                    .Parameters.Add("@Bånd_længde", sTapeLength)
                    .Parameters.Add("@Medie", sMedia)
                    .Parameters.Add("@Billede", sImage)
                    .Parameters.Add("@Kommentar", sComment)
                    .ExecuteNonQuery()
                End With
                oTrans.Commit()
            Catch exc As DataException
                oTrans.Rollback()
                Throw New DataException("Der skete en fejl under tilføjelsen af data i Add metoden! ", exc)
            Finally
                If Not oConnection Is Nothing Then
                    If oConnection.State <> ConnectionState.Closed Then
                        oConnection.Close()
                    End If
                    oConnection.Dispose()
                    oConnection = Nothing
                End If
            End Try
        End Sub

--------------------------------------------------------------------------
business lag
--------------------------------------------------------------------------

Public Sub Add(ByVal genreId As Integer, ByVal statusID As Integer, ByVal sVideoId As String, ByVal sTitle As String, ByVal sLanguage As String, ByVal sMovieLength As String, ByVal sTapeLength As String, ByVal sMedia As String, ByVal sImage As String, ByVal sComment As String)
            Try
                Dim obj As New Data.Admin
                obj.Add(genreId, statusID, sVideoId, sTitle, sLanguage, sMovieLength, sTapeLength, sMedia, sImage, sComment)
            Catch ex As Exception
                Throw ex
            End Try
        End Sub

--------------------------------------------------------------------------
UI lag med kontrol event:
--------------------------------------------------------------------------

Public Sub cmdInsert_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdInsert.Click
            Dim genreId As Integer = CType(ddlMovieGenres.SelectedItem.Value, Integer)
            Dim statusId As Integer = CType(radListStatusId.SelectedItem.Value, Integer)
            Dim sVideoId As String = txtVideoId.Text
            Dim sTitle As String = txtTitle.Text
            Dim sLanguage As String = ddlLanguageTypes.SelectedItem.Value
            Dim sMovieLength As String = txtMovieLength.Text
            Dim sTapeLength As String = txtTapeLength.Text
            Dim sMedia As String = ddlMediaTypes.SelectedItem.Value
            Dim sImage As String = txtImage.Text
            Dim sComment As String = txtComment.Text
            Try
                Dim obj As New Business.Admin
                obj.Add(genreId, statusId, sVideoId, sTitle, sLanguage, sMovieLength, sTapeLength, sMedia, sImage, sComment)
                Response.Redirect(Request.ApplicationPath & "Secure/Admin.aspx?ItemID=1")
            Catch ex As Exception
                Throw ex
            End Try
        End Sub

Jeg kan ikke finde fejlen..... :(
Avatar billede simonvalter Praktikant
15. juli 2003 - 09:49 #6
luk dette og opret det i asp.net så tror jeg du har en bedre chance for svar ;(
Avatar billede disco_keld Nybegynder
15. juli 2003 - 09:50 #7
nå ja....

det er sgu da Access det her! UPSSSSSSSSSSSSSSssssssssssssssssssss.....

Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester