DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: ASP.NET | Thema: Fehler beim Editieren | Von: G. Guest ( 19.04.2004 10:33)

Hallo,
beim Editieren meiner Datensätze bekomme ich folgende Fehlermeldun:
"System.IndexOutOfRangeException: Index was outside the bounds of the array"
Dabei wird folgende Zeile rot angezeigt:

myCommand.Parameters(cols(i-1)).Value = colvalue


Mein Code:
...
Public Sub MyDataGrid_Update(sender As Object, _
E As DataGridCommandEventArgs)
Dim updateCmd As String = "UPDATE inventor SET id = @Id," _
& " firstname = @firstname, lastname = @lastname, citizenship = @citizenship," _
& " street = @street, town = @town, country = @country," _
& " lab = @lab, pgroup = @pgroup, email = @email," _
& " phone_home = @phone_home, phone_office = @phone_office," _
& " comment = @comment WHERE id = @Id;"
Dim myCommand As OleDbCommand = New OleDbCommand(updateCmd, _
myConnection)
myCommand.Parameters.Add(New OleDbParameter("@Id", OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@firstname", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@lastname", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@citizenship", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@street", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@town", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@country", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@lab", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@pgroup", _
OleDbType.VarChar))

myCommand.Parameters.Add(New OleDbParameter("@email", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@phone_home", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@phone_office", _
OleDbType.VarChar))
myCommand.Parameters.Add(New OleDbParameter("@comment", _
OleDbType.VarChar))

' Initialize the OleDbCommand "@ID" parameter to the ID of the row
' that must be clicked.
myCommand.Parameters("@Id").Value = _
MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))
' Create an array of column names.
Dim cols() As String = {"@Id","@firstname","@lastname","@citizenship","@town","@country","@lab", _
"@pgroup", "@email","@phone_home","@phone_office","@comment"}
' Skipping the first, second, and last columns, iterate through the
' columns, checking for empty values. If an empty value is found,
' display a message box. Also initialize the OleDbCommand
' parameter values.
Dim numCols As Integer = E.Item.Cells.Count
Dim i As Integer
Dim colvalue As String
Dim txtBox As Textbox
For i = 2 To numCols-1
txtBox = E.Item.Cells(i).Controls(0)
colvalue = txtBox.Text
If (i<6 And colvalue = "")
Message.InnerHtml = "ERROR: Null values not allowed for " _
& "Author ID, Name or Phone"
Message.Style("color") = "red"
Exit Sub
End If
myCommand.Parameters(cols(i-1)).Value = colvalue
Next i
' Append the last field, converting true/false values to 0/1.
txtBox=E.Item.Cells(numCols-1).Controls(0)
If (String.Compare(txtBox.Text, "true", true) = 0) Then
myCommand.Parameters("@comment").Value = "1"
Else
myCommand.Parameters("@comment").Value = "0"
' Connect to the database and update the information.
myCommand.Connection.Open()
' Test whether the data was updated, and display the
' appropriate message to the user.
Try
myCommand.ExecuteNonQuery()
Message.InnerHtml = "<b>Record Updated.</b><br>"
MyDataGrid.EditItemIndex = -1
Catch ex As OleDbException
Message.InnerHtml = "ERROR: A record already exists" _
& " with the same primary key"
Message.Style("color") = "red"
End Try

' Close the connection.
myCommand.Connection.Close()
' Rebind the DataGrid to show the updated information.
BindGrid()
End If
End Sub
...

Kann mir jemand sagen was ich hier falsch mache?






Betreff Von Datum
Re: Fehler beim Editieren
Sieht so aus, als ob in der Anweisung <br><br>Dim cols() As String = {"@Id","@firstname","@lastname","@citizenship","@town","@country","@lab", _<br>"@pgroup",...
Klaus Holster 19.04.2004 11:18
Re: Fehler beim Editieren
Es geht es, danke für den Hinweis.<br>Ich habe aber noch ein Problem, id ist bei mir AutoIncrement-Wert, deswegen bekomme ich folgende Meldung<br>" System.Data.OleDb.OleDbException: 'id' kann nicht...
G. Guest 19.04.2004 20:51

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG