2017-04-02 72 views
1

我是一個在編程vb.net的新手,我正在做一個簡單的銷售點 我想從列表視圖中插入多行數據到LINQ to SQL的,這裏是代碼:如何從列表視圖插入多行數據到LINQ到SQL VB.Net

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 

我無法將數據保存到LINQ to SQL中.....

+0

*我無法將數據保存到linq到sql。*這可能意味着什麼。請更具體一些。 –

回答

2

首先,它是更快提交更改一次,當所有記錄在上下文中插入。

,則建議使用Using方法

,你遍歷ListView1.SelectedItems,而不是使用循環返回item對象。我認爲你缺少的東西在你的代碼

嘗試修改您的代碼如下:

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 

您可以參考以下MSDN article閱讀有關將使用行LINQ到SQL

+1

對於OP:你應該從'item'填充'Transaksi'的屬性.. – har07

+1

哇,它的工作,謝謝哈迪,你是一個很大的幫助!如果我想打印列表視圖數據,我可以使用使用方法嗎? –

+0

樂意提供幫助。是的,你可以使用它。如果這個答案奏效,你必須[接受](http://www.stackoverflow.com/tour),否則給我一個反饋 – Hadi