【发布时间】:2015-07-21 10:48:40
【问题描述】:
我正在使用 VB2010 和 Access2007
我希望能够在 Access 数据库中添加/删除列,并在运行时使用代码在 DataGridView 中显示结果。
我的 VB 表单有一个用于添加的 AddColumn 按钮和一个用于从数据库中删除该列的 DropColumn 按钮,以及一个用于显示结果的 GataGridView1。
AddColumn 将列添加到数据库和 DataGridView。 DropColumn 从数据库中删除列,但不从 DataGridView 中删除。 那是我的问题,如何从 DataGridView1 以及数据库中删除列!
我试图找到解决这个问题的方法是徒劳的,欢迎您提出任何建议。
这是我的 VB 代码
导入 System.Data.OleDb。
公开课Form3
Dim con1 As New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = I:/AccessDGV/dbAccessDGV.mdb")
Dim da As New OleDbDataAdapter("SELECT * FROM tblContacts", con1)
Dim dt As New DataTable
Dim bs As New BindingSource
Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim conString As String = My.Settings.dbAccessDGVConnectionString
Dim con1 As New OleDbConnection(conString)
Dim CB As New OleDbCommandBuilder(da)
da.Fill(dt)
bs.DataSource = dt
DataGridView1.DataSource = bs
End Sub
Private Sub btnAddColumn_Click(sender As System.Object, e As System.EventArgs) Handles btnAddColumn.Click
con1.Open()
Dim sqladdcolumn As String = "ALTER TABLE tblContacts ADD COLUMN Extra1 Text"
Dim cmd As OleDbCommand = New OleDbCommand(sqladdcolumn, con1)
Try
cmd.ExecuteNonQuery()
da.Fill(dt)
cmd.Dispose()
con1.Close()
Catch ex As Exception
MsgBox(ex.Message)
con1.Close()
End Try
End Sub
Private Sub btnDropColumn_Click(sender As System.Object, e As System.EventArgs) Handles btnDropColumn.Click
con1.Open()
Dim sqldropcolumn As String = "ALTER TABLE tblContacts DROP COLUMN Extra1 Text"
Dim cmd As OleDbCommand = New OleDbCommand(sqldropcolumn, con1)
Try
cmd.ExecuteNonQuery()
da.Fill(dt)
cmd.Dispose()
con1.Close()
Catch ex As Exception
MsgBox(ex.Message)
con1.Close()
End Try
End Sub
结束类
【问题讨论】:
标签: vb.net datagridview