/ / Jak uzyskać wartości komórek datagrid - .net, vb.net

Jak uzyskać wartości komórek datagrid - .net, vb.net

Korzystanie z VB.Net

Chcę uzyskać wszystkie wartości komórek datagrid, a następnie wstawić do table1.

Kod

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()

Powyższy kod wstawia pierwszy wiersz wartości komórki datagrid, ale chcę wstawić wszystkie wartości komórek datagrid

Jak zmodyfikować mój kod, aby uzyskać całą wartość komórki datagrid.

Odpowiedzi:

1 dla odpowiedzi № 1

Trzymanie się istniejącego kodu, pomimo jego wad (na pewno sprawdź: Injection SQL)

Możesz zrobić coś takiego:

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

Istnieje wiele ulepszeń, które można wprowadzić, ale to odpowiada na twoje pytanie:


0 dla odpowiedzi nr 2

Przede wszystkim: unikaj SQL Injection przy użyciu parametrów

Następnie: Zapętlić wszystkie wiersze i wstawić je

Pseudo kod:

foreach(var row in DataGid.Rows)
{
insert();
}