Dim Con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Music_Sales_Database.mdb;")
Dim Com As OleDbCommand
Dim SaleCode As Integer
Dim MusicID As String
Dim SubTotalPrice As Decimal
Dim Copies1 As Integer
Dim STR1 As String
SaleCode = 1
Com = New OleDbCommand
Com.Connection = Con
For x As Integer = 0 To SalesDataGridView.Rows.Count - 1
MusicID = SalesDataGridView.Rows(x).Cells(0).Value
SubTotalPrice = SalesDataGridView.Rows(x).Cells(5).Value
Copies1 = SalesDataGridView.Rows(x).Cells(3).Value
STR1 = "INSERT INTO Sales(Sales_ID, Sales_Date, Copies, Music_ID, Staff_ID, Total_Price) VALUES (@Sales_ID, @Sales_Date, @Copies, @Music_ID, @Staff_ID, @Total_Price)"
Dim Comm As New OleDbCommand(STR1, Con)
Comm.Parameters.AddWithValue("@Sales_ID", SaleCode)
Comm.Parameters.AddWithValue("@Sales_Date", txtDateAndTime)
Comm.Parameters.AddWithValue("@Copies", Copies1)
Comm.Parameters.AddWithValue("@Music_ID", MusicID)
Comm.Parameters.AddWithValue("@Staff_ID", txtStaff_ID)
Comm.Parameters.AddWithValue("@Total_Price", SubTotalPrice)
'Command.ExecuteNonQuery()
Comm.Dispose()
Next
Connection.Close()
对于我所有的大四,我不知道为什么它没有任何错误显示,并且无法将其保存在Access数据库中。将datagridview的所有数据插入到数据库vb.net
整个代码是在按钮,我解释我是如何想我的程序工作:
1)我有一个未绑定的DataGridView,可以从几个文本框添加数据。 2)一个名为Check-Out的按钮,这个按钮用于将我的datagridview数据传递到Access数据库.....这是我面对的问题.....有人可以帮我解决它.....
THX很多...
我也提到了这个环节,但我不是太熟悉C#Insert all data of a datagridview to database at once
为什么'Command.ExecuteNonQuery()'被注释掉了?这使它工作。此外,'Comm.Dispose()'应该在Next块之外以插入所有行。否则,解释它如何失败或任何错误都会有帮助。 – Plutonix
@Plutonix它显示“对象引用未设置为对象的实例”。当nvr注释掉Command.ExecuteQuery() – user3496755
你的OLEDBCommand对象被创建为'Com';但你也创建'Comm',然后使用'Command'。你只需要一个OleDBCommand对象,选择一个。这里是如何使用USING块的示例 - http://stackoverflow.com/questions/23377408/how-can-i-use-where-function-using-insert-into-module/23377684#23377684 – Plutonix