2017-04-02 74 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