首页 > 解决方案 > 如何使用 vb.net 将列表视图中的多行或记录或项目插入到 ms 访问

问题描述

我正在开发一个将多行保存到 MS access 2007 的程序。我的问题是,它仅在列表视图有 2 个或更多行/项目时保存第一行,然后会弹出一个错误,但如果列表视图只有一个项目它顺利保存没有任何错误,我想一键保存列表视图中的所有行或项目。

这是按钮的代码:

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...")

标签: vb.netlistviewms-access-2007

解决方案


推荐阅读