dataset.getchanges()方法使用

lwd203 2009-08-25 06:10:12
将一个datagridview控件和一个access数据库绑定,那么这个表便显示在窗体上了。下面我开始运行,如果我想改变表中的值并且我再下次运行时仍想看到我改过之后的表,该怎么做呢? 也就是说我改变表中的值,当关闭这个窗口时会提示表中的内容已经改变,是否需要保存,“确定”的话数据就会保存到表中,并且我下次打开时就是改后的表,这个该如何做呢,详细点,新手,谢谢
...全文
359 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dancingbit 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lwd203 的回复:]
谢谢,我试试先,还有一个问题请教一下,假如我有多个窗口,每个窗口都会显示一个数据表,那么我是不是在每个窗体下面都必须使用语句命令连接打开数据库和写DataAdapter?
[/Quote]
不是必须,连接和DataAdapter都可以复用的。

OleDbCommandBuilder用于自动生成更新命令。
lwd203 2009-08-26
  • 打赏
  • 举报
回复
楼上两位老大,还是搞不定呀,能不能贴点详细的代码看看,写了呀,为什么要用到OleDbCommandBuilder呢?
lwd203 2009-08-26
  • 打赏
  • 举报
回复
谢谢,我试试先,还有一个问题请教一下,假如我有多个窗口,每个窗口都会显示一个数据表,那么我是不是在每个窗体下面都必须使用语句命令连接打开数据库和写DataAdapter?
lwd203 2009-08-26
  • 打赏
  • 举报
回复
问题已经解决,谢谢啦
lwd203 2009-08-26
  • 打赏
  • 举报
回复
不是很明白,能不能把大概步骤写一下,我现在是这样做的:
连接数据库,打开数据库,定义一个新的DataTable,使用fill方法填充DataTable,然后加上上面的Private Sub OnSaveData()过程,调试之后显示错误‘对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。’可能是什么原因?
dancingbit 2009-08-25
  • 打赏
  • 举报
回复
如果此方法返回null,表明此次没有更改任何数据。
如果返回的不是null,那么有更改,就可以提示用户是否保存。
水哥阿乐 2009-08-25
  • 打赏
  • 举报
回复
从连接ACCESS到.......我就省了。给你最主要的过程
 Private Sub OnSaveData()
If cb Is Nothing Then
cb = New OleDbCommandBuilder
cb.DataAdapter = da
'设定更新命令
da.UpdateCommand = cb.GetUpdateCommand
'设定插入命令
da.InsertCommand = cb.GetInsertCommand
'设定删除命令
da.DeleteCommand = cb.GetDeleteCommand
End If

'将更改保存到数据库中
da.Update(dt)

Me.StatusBar1.Text = "数据已更新"

End Sub

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧