为了让dbgrideh滚动条滚动时,活动记录不移动,用了memtableeh,但是现在删除不了数据了

biganchor 2011-05-03 08:55:30
连接方式dbgrideh -> dataset,dataset -> memtableeh,memtableeh -> datasetDriver,datasetDriver -> adoquery,
现在滚动的问题是解决了,可编辑、删除都不行,表面看dbgrideh里边的数据是变化了,回头打开还是老样,查看了数据库,数据也没有变化,用的是access。
删除记录是这样的dbgrideh.SelectedRows.Delete,问题出在哪儿呢?
...全文
332 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
delphi_911 2011-05-05
  • 打赏
  • 举报
回复
不用内存表也可以让选定记录不动
biganchor 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 m617105 的回复:]
Delphi(Pascal) code

memtableeh.edit;
...修改记录
memtableeh.post;
[/Quote]

如果是删除,就得用
memtableeh.Delete;
memtableeh.Post;
了?试过了,不行。另外,你这个代码之后,应该要用个ApplyUpdates(-1);
浩南_哥 2011-05-03
  • 打赏
  • 举报
回复

memtableeh.edit;
...修改记录
memtableeh.post;
biganchor 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
你这应该涉及到了缓存更新,memtable应该是放到内存了
直接用adoconnection,adoquery,datasource,dbgrideh即可即时操作数据库
[/Quote]
不用memtable,在滚动滚动条的时候,活动记录acitve record也会跟着走的。
memtable有个CacheUpdates,我都设置为False了
bdmh 2011-05-03
  • 打赏
  • 举报
回复
你这应该涉及到了缓存更新,memtable应该是放到内存了
直接用adoconnection,adoquery,datasource,dbgrideh即可即时操作数据库

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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