Reputation: 11
i'm a newbie in programming vb.net, I'm making a simple point of sale I want to insert multiple rows of data from listview to linq to sql, here is the code:
Private Sub Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save.Click
Dim db As New PenjualanDataContext
For Each item As ListViewItem In ListView1.SelectedItems
Dim TransaksiBaru As New Transaksi With {.Dibayar = Dibayar.Text, .Faktur = FakturTextBox.Text, .Harga = HargaComboBox.Text, .Jumlah = JumlahTextBox.Text, .Kembali = Kembali.Text, .Kode_Barang = Kode_BarangComboBox.Text, .Nama_Barang = Nama_BarangComboBox.Text, .SubTotal = SubTotalTextBox.Text, .Tanggal = TanggalDateTimePicker.Text, .Total = TotalTextBox.Text}
db.Transaksis.InsertOnSubmit(TransaksiBaru)
db.SubmitChanges()
Next
End Sub
I cannot save the data to linq to sql.....
Upvotes: 1
Views: 584
Reputation: 37313
First, it is faster to Submit Changes one time when all record are inserted in the context.
Second, it is recommended to use Using
method
Third, you are looping over ListView1.SelectedItems
and not using item
object returned by the loop. i think that you are missing something in your code
Try modifying your code to the following:
Private Sub Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save.Click
Using db As New PenjualanDataContext
For Each item As ListViewItem In ListView1.SelectedItems
Dim TransaksiBaru As New Transaksi With {.Dibayar = Dibayar.Text, .Faktur = FakturTextBox.Text, .Harga = HargaComboBox.Text, .Jumlah = JumlahTextBox.Text, .Kembali = Kembali.Text, .Kode_Barang = Kode_BarangComboBox.Text, .Nama_Barang = Nama_BarangComboBox.Text, .SubTotal = SubTotalTextBox.Text, .Tanggal = TanggalDateTimePicker.Text, .Total = TotalTextBox.Text}
db.Transaksis.InsertOnSubmit(TransaksiBaru)
Next
db.SubmitChanges()
End Using
End Sub
You can refer to the following MSDN article to read more about inserting Rows using Linq-to-SQL
Upvotes: 2