如何使用vb.net从ListView插入多行或记录或项目以访问MS

时间:2018-08-08 17:34:12

标签: vb.net listview ms-access-2007

我正在一个程序中,该程序将多行保存到MS Access2007。我的问题是,它仅在listview具有2个或更多行/项目时保存第一行,然后会弹出错误,但是如果listview有一个项目只有它可以顺利保存,没有任何错误,我只想单击一下即可保存列表视图中的所有行或项目。

这是按钮的代码:

Dim connection As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Soumen_DB.mdb;"
 Using myconnection As New OleDbConnection(connection)
  myconnection.Open()

For i = 0 To ListView1.Items.Count - 1
 Dim sqlq2 As String = "INSERT INTO [ProductSold] ([ReceiptNo], [VATNo], [ProductID], [ProductName], [Price], [Quantity], [Amount], [DiscountPer], [DiscountAmount], [GSTPer], [GSTAmount], [TotalAmount]) 
        VALUES (@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9,@d10,@d11,@d12)"

 Using cmd2 As New OleDbCommand(sqlq2, myconnection)
  cmd2.Parameters.AddWithValue("d1", receiptNo)
  cmd2.Parameters.AddWithValue("d2", "123456")
  cmd2.Parameters.AddWithValue("d3", "123456")
  cmd2.Parameters.AddWithValue("d4", ListView1.Items(i).SubItems(1).Text)
  cmd2.Parameters.AddWithValue("d5", ListView1.Items(i).SubItems(2).Text)
  cmd2.Parameters.AddWithValue("d6", ListView1.Items(i).SubItems(3).Text)
  cmd2.Parameters.AddWithValue("d7", ListView1.Items(i).SubItems(4).Text)
  cmd2.Parameters.AddWithValue("d8", ListView1.Items(i).SubItems(5).Text)
  cmd2.Parameters.AddWithValue("d9", ListView1.Items(i).SubItems(6).Text)
  cmd2.Parameters.AddWithValue("d10", ListView1.Items(i).SubItems(7).Text)
  cmd2.Parameters.AddWithValue("d11", ListView1.Items(i).SubItems(8).Text)
  cmd2.Parameters.AddWithValue("d12", ListView1.Items(i).SubItems(9).Text)
  cmd2.ExecuteNonQuery()
   End Using
   Next
   MsgBox("Data Saved...")

0 个答案:

没有答案