Puji Leksana
Puji Leksana

Reputation: 11

How to insert multiple rows of data from listview to linq to sql VB.Net

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

Answers (1)

Hadi
Hadi

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

Related Questions