【发布时间】:2023-03-25 15:01:01
【问题描述】:
Private Sub btnAddSub_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddSub.Click
Dim comboboxvalue As String
comboboxvalue = "'" & CBClass.SelectedItem & "'"
Dim sql As String
sql = "Select * From class Where ClassCode=" & comboboxvalue
Dim connString As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=H:\ProjectDatabase.mdb"
Dim MyConn As OleDbConnection
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim tables As DataTableCollection
Dim source1 As New BindingSource
MyConn = New OleDbConnection
MyConn.ConnectionString = connString
ds = New DataSet
tables = ds.Tables
da = New OleDbDataAdapter(sql, MyConn)
da.Fill(ds, "Class")
Dim view As New DataView(tables(0))
source1.DataSource = view
Form1.dgv.DataSource = view
End Sub
我目前可以将一条数据添加到数据网格。当我尝试添加第二条数据时,它会替换当前存储的数据。
我如何做到这一点,以便当我添加更多数据时它会进入新行。
【问题讨论】:
-
我不知道这是否是您的问题的根源,但我注意到
Form1.dgv.DataSource = view。由于我没有看到Form1声明,我想知道您是否使用 Form1 的默认表单实例。如果 Form1 是放置btnAddSub的表单,那么Me.dgv.DataSource = view会更有意义。 -
我正在尝试从另一个表单添加到 DGV。 DGV 当前位于表格 1 上。唯一的问题是,当我选择要添加的新项目时,它只会删除表格 1 DGV 上的当前项目。
标签: sql database vb.net datagridview datagrid