Verwenden von VB.Net
Ich möchte alle Datenzellenzellenwerte erhalten und dann in Tabelle1 einfügen.
Code
cmd = New SqlCommand("insert into table1 values("" & DataGrid.Rows(0).Cells(0).Value & "", "" & DataGrid.Rows(0).Cells(1).Value & "", "" & DataGrid.Rows(0).Cells(2).Value & "", "" & DataGrid.Rows(0).Cells(3).Value & "")", con)
cmd.ExecuteNonQuery()
Der obige Code fügt die erste Zeile des DataGrid-Zellenwerts ein, aber ich möchte alle Werte der DataGrid-Zelle einfügen
Wie ändere ich meinen Code, um den gesamten DataGrid-Zellenwert zu erhalten.
Antworten:
1 für die Antwort № 1Halten Sie sich trotz aller Fehler an Ihren bestehenden Code (suchen Sie ganz genau nach: SQL-Injektion)
Du könntest so etwas tun:
For Each row As DataGridViewRow in dataGrid.Rows
cmd = New SqlCommand("insert into table1 values("" & row.Cells(0).Value & "", "" & row.Cells(1).Value & "", "" & row.Cells(2).Value & "", "" & row.Cells(3).Value & "")", con)
cmd.ExecuteNonQuery()
Next
Es gibt zahlreiche Verbesserungen, die gemacht werden könnten, aber das beantwortet Ihre Frage:
0 für die Antwort № 2
Vor allem: Vermeiden Sie SQL-Injection mit Parametern
Dann: Schleife über alle Zeilen und füge sie ein
Pseudocode:
foreach(var row in DataGid.Rows)
{
insert();
}