Hallo,
ich hänge gerade an einem für mich kuriosen Problem. Ich habe eine Form mit einem Datagridview, das ich über eine SQL-Abfrage aus einer mysql-Datenbanktabelle befülle.
Das Dategridview befülle ich beim Laden der Form.
So lange nur ein Datensatz in der Tabelle ist, funktioniert das. Wenn ein zweiter Datensatz in die Datenbanktabelle dazu kommt, bekomme ich die Fehlermeldung: System.ArgumentOutOfRangeException: "Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Sammlung sein. Parametername: index"
Als Stelle an der der Fehler auftritt wird die Zeile (im Listung Zeile 26).
angegeben, also wenn ich die Zellen im Datagridview adressiere und den Wert aus der Datenbankabfrage reinschreiben will.
Kann mir jemand weiterhelfen?
Bye
Markus
ich hänge gerade an einem für mich kuriosen Problem. Ich habe eine Form mit einem Datagridview, das ich über eine SQL-Abfrage aus einer mysql-Datenbanktabelle befülle.
Das Dategridview befülle ich beim Laden der Form.
So lange nur ein Datensatz in der Tabelle ist, funktioniert das. Wenn ein zweiter Datensatz in die Datenbanktabelle dazu kommt, bekomme ich die Fehlermeldung: System.ArgumentOutOfRangeException: "Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Sammlung sein. Parametername: index"
Als Stelle an der der Fehler auftritt wird die Zeile (im Listung Zeile 26).
angegeben, also wenn ich die Zellen im Datagridview adressiere und den Wert aus der Datenbankabfrage reinschreiben will.
VB.NET-Quellcode
- Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Dim zeilen As Integer = 0
- sqlConn.ConnectionString = "server =" + server + ";" + "user id =" + username + ";" _
- + "password =" + password + ";" + "database =" + database
- sqlConn.Open()
- sqlCmd.Connection = sqlConn
- sqlCmd.CommandText = "SELECT * From fisms_user ORDER by nachname"
- sqlRd = sqlCmd.ExecuteReader
- With DataGridView1
- '.AllowUserToAddRows = False
- '.RowHeadersVisible = False
- .Columns.Clear()
- 'Spalten fürs DGV erstellen
- .Columns.Add("Spalte0", "ID")
- .Columns.Add("Spalte1", "Benutzername")
- .Columns.Add("Spalte2", "Vorname")
- .Columns.Add("Spalte3", "Nachname")
- .Columns.Add("Spalte4", "Recht")
- .Columns.Add("Spalte5", "Inaktiv")
- .Columns.Add("Spalte6", "PW-Fehler")
- .Columns.Add("Spalte7", "Letzter Login")
- MessageBox.Show("Zeilen: " + CStr(zeilen))
- While sqlRd.Read()
- .Rows(zeilen).Cells(0).Value = CStr(sqlRd("id"))
- .Rows(zeilen).Cells(1).Value = CStr(sqlRd("benutzername"))
- .Rows(zeilen).Cells(2).Value = CStr(sqlRd("vorname"))
- .Rows(zeilen).Cells(3).Value = CStr(sqlRd("nachname"))
- .Rows(zeilen).Cells(4).Value = CStr(sqlRd("recht"))
- .Rows(zeilen).Cells(5).Value = CStr(sqlRd("inaktiv"))
- .Rows(zeilen).Cells(6).Value = CStr(sqlRd("pw_fz"))
- .Rows(zeilen).Cells(7).Value = CStr(sqlRd("lastlogin"))
- zeilen = zeilen + 1
- End While
- End With
- sqlRd.Close()
- sqlConn.Close()
- sqlConn.Dispose()
- End Sub
Kann mir jemand weiterhelfen?
Bye
Markus
8-Bit Nerd - Retro-Computer Junkie - Elektronik-Fuzzi - Lötkolben-Jongleur
Lord Luxors Retrogalerie llrg.me
Lord Luxors Retrogalerie llrg.me