ich von Datagridview ausgewählter Zeile zu löschen versuchen ausgewählte Zeile löschen und Änderungen dauerhaft in meinem Zugang zu begehen hier ist DB mein Code:Wie von Datagridview und Access DB in .NET
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Accountcode.accdb;"
cn.Open()
Try
For Each row As DataGridViewRow In DataGridView1.SelectedRows
Using cn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Accountcode.accdb;")
Using cm As New OleDb.OleDbCommand
cm.Connection = cn
cm.CommandText = "DELETE * FROM CheckDJ WHERE [ID]= @id"
cm.CommandType = CommandType.Text
cm.Parameters.AddWithValue("@ID", CType(row.DataBoundItem, DataRowView).Row("ID"))
cm.ExecuteNonQuery()
End Using
End Using
Next
Catch ex As Exception
MsgBox(ex.Message)
End Try
Try
Using cn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\Accountcode.accdb;")
Using cm As New OleDb.OleDbCommand
strsql = "SELECT * FROM CheckDJ"
cm.Connection = cn
cm.CommandText = strsql
cm.CommandType = CommandType.Text
Dim da As New OleDbDataAdapter(strsql, cn)
Dim ds As New DataSet()
da.Fill(ds, "CheckDJ")
DataGridView1.DataSource = ds.Tables(0)
End Using
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
Aber ich habe ein Fehler.
Index war außerhalb des Bereichs. Muss nicht negativ und kleiner als die Größe der Sammlung sein. Parametername: Index Jede Hilfe wird sehr geschätzt. Vielen Dank im Voraus!
Es ist, weil Sie Zeilen entfernen, während sie laufen. Werfen Sie sie zuerst in eine Sammlung, führen Sie dann eine Schleife durch und entfernen Sie sie aus der Datagrid-Ansicht und entfernen Sie sie dann aus der Datenbank. Derzeit in einer Schleife Datensätze aus datagridview zu entfernen, aber Sie benötigen die Datenbank und füllt die datagridview wieder innerhalb dieser Schleife, das ist schlechte Praxis und Fragen nach Problemen ... Auch verwenden Sie Parameter und schauen Sie sich richtig entsorgen Verbindungsobjekte, Befehle usw. ..Öffnen Sie die Verbindung, erledigen Sie Ihre Arbeit und schließen und säubern. – Codexer
@Zaggler Ich würde es sehr schätzen, wenn Sie mir helfen können, indem Sie mir den richtigen Code zeigen. Sie können meinen Code ändern. –
@ F0r3v3r-A-N00b sehe meinen bearbeiteten Code über –