VB.net数据库增加列后,如何在DataGridView上显示更改后的数据表?

我用数据源适配器手动添加的数据源Access数据库,然后与DataGridView绑定,对数据表进行增加列操作,数据表结构发生改变,怎么把改变后的数据表更新到DataGr... 我用数据源适配器手动添加的数据源Access数据库,然后与DataGridView绑定,对数据表进行增加列操作,数据表结构发生改变,怎么把改变后的数据表更新到DataGridView中呢?我的代码如下:

Dim strconn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & System.Windows.Forms.Application.StartupPath & "\数据库.mdb;"
Dim con As New OleDb.OleDbConnection(strconn)
con.Open()
Dim cmd As New OleDb.OleDbCommand("alter table " & "化学 add 备注 String", con)
cmd.ExecuteNonQuery()
con.Close()
Dim sql As String
sql = "select * from 化学" '更新查询
Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(数据库DataSet, "化学")
化学指标TableAdapter.Update(数据库DataSet)
DataGridView1.DataSource = 数据库DataSet.Tables(0)
DataGridView1.Refresh()
这样肯定是不行的,虽然Access表结构变了,但是dataGridView没变,我知道手动该怎么改变,就是删除数据库这个数据源,然后重新添加数据源,但是这样是不是太麻烦了,如果这样做的话,用编程该怎么实现呢?菜鸟不懂,希望得到各位高手的指点,谢谢!
展开
 我来答
平梦醉神风1I
2011-08-18 · TA获得超过1510个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:1020万
展开全部
一般都是重新绑定数据源,理由很简单,因为在用户A添加一条记录后,可能用户B正好更新了一条数据,重新绑定数据能保证datagridview显示的数据是最合理的
更多追问追答
追问
重新绑定该怎么做呢?我到现在还是很糊涂!以前的数据源是不是要删除?
追答
把下面这段代码封装为一个方法 ,比如叫BindData
Dim sql As String
sql = "select * from 化学" '更新查询
Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sql, con)
da.Fill(数据库DataSet, "化学")
'化学指标TableAdapter.Update(数据库DataSet) 对于查询这句没意义
DataGridView1.DataSource = 数据库DataSet.Tables(0)
DataGridView1.Refresh()

每次增删改结束后调用BindData方法
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式