我正在开发VB中的销售点系统并使用访问作为RDBMS。一切顺利但是当它被删除时我被困住了。 我想清除datagridview中的所有行,并希望将其从数据库中删除。新的datagridview将存储新项目,我将新数据发送到print.I尝试了以下代码,但所有徒劳无功。
java.lang.ClassCastException: java.lang.OutOfMemoryError cannot cast to java.lang.Exception
第二次尝试
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
For i As Integer = 0 To SProductDataGridView.RowCount
SProductDataGridView.Rows.Remove(SProductDataGridView.Rows(0))
Next
End Sub
注意: For i As Integer = 0 To SProductDataGridView.RowCount -1
ProductTableAdapter.DeleteProduct(IDTextBox.Text)
ProductTableAdapter.Fill(MyDS.product)
ProductTableAdapter.Dispose()
Next
=没有,我试过butgridview.rows.clear()不起作用和gridview.ds =没有什么只是清除gridview并且没有删除访问数据库中的数据。
答案 0 :(得分:1)
您可以使用以下任一选项:
所有解决方案的逻辑是删除行,然后更新表适配器。
使用DataTable
您可以在数据表中找到每一行并将其删除,然后更新表适配器:
APPLICATION.openNewWindow(newUrl)
使用DataGridView
For Each row As DataRow In Me.TestDBDataSet.TestTable.Rows
row.Delete()
Next
Me.TestTableTableAdapter.Update(TestDBDataSet.TestTable)
使用BindingSource
For Each row As DataGridViewRow In Me.TestTableDataGridView.Rows
DirectCast(row.DataBoundItem, DataRowView).Delete()
Next
Me.TestTableTableAdapter.Update(TestDBDataSet.TestTable)