VB.net中用SQL语句操作数据库并实时刷新显示在DataGridView中,附源码,求指导

''窗体加载PrivateSubForm2_Load()SQLstr="select*fromsheet1"loadDB2()Endsub''调用的函数,str、SQLs... ''窗体加载
Private Sub Form2_Load()
SQLstr = "select * from sheet1"
loadDB2()
End sub
''调用的函数,str、SQLstr都用Public正确定义了
Private Sub loadDB2()
Dim cnn As New OleDbConnection(str)
cnn.Open()
Dim myAdapter As New OleDbDataAdapter(SQLstr, cnn)
Dim ds As New DataSet
myAdapter.Fill(ds, "sheet1")
DataGridView1.DataSource = ds.Tables("sheet1")
End Sub
''按钮单击事件
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
i = DataGridView1.CurrentCell.RowIndex ''获取当前网格控件中活动行的行序号ID-1
'删除源数据库中对应的第 i+1条记录,并在DataGridView1移除这一条记录
SQLstr = "delete from sheet1 where id=" & (i + 1)
'此处调用 loadDB2() 在DataGridView就没有内容显示了,数据库中记录删了但显示记录仍存在
‘’//// ????
End sub
‘’说明:窗体加载的时候,在DataGridView1中能正确显示数据库(mdb)中表sheet1中的内容,现在想在按钮单击事件中删除一条记录,数据库和DataGridView1都删除并实时显示出来,请问问号处该怎么写,给出示例源码最好,给个例子也行,先谢过了。这里是VB2008环境用Jet Oledb 4.0通过dataset连接的本地mdb
展开
 我来答
阳光的雷咩咩
2016-05-07 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7586万
展开全部
重要的是区别两个方法:DbAdapter.Fill是读,DbCommand.ExecuteNonquery是执行修改。删除按钮下理论上应先调用修改,确认成功后,再调用读取。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式