删除记录问题

byctiy 2003-08-30 11:01:24
procedure Tgb_k.SpeedButton2Click(Sender: TObject);
begin
if DM.CDS_gb_01.recordcount <> 0 then
begin
if Application.messagebox('请确认是否要删除', '管理系统', mb_iconinformation + mb_yesno) = idyes then
begin
DM.CDS_gb_01.delete;
DM.CDS_gb_01.applyupdates(0);
end;
end
else
begin
Application.messagebox('已没有记录可删除,请确认!', '管理系统', mb_iconinformation + mb_defbutton1);
end;
end;

为什么 我点删除时 DBGrid 里面的记录会删掉 便数据库的记录还存在??
...全文
29 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhuibo 2003-09-01
  • 打赏
  • 举报
回复
用query
江山易改 2003-09-01
  • 打赏
  • 举报
回复
这种事情发生的情况是,结果集中产生了关联,如果要将指定记录删除,可以用SQL写入
byctiy 2003-09-01
  • 打赏
  • 举报
回复
数据集
byctiy 2003-09-01
  • 打赏
  • 举报
回复
哪应怎么做?
用 post 一定会出错
zxtyhy 2003-09-01
  • 打赏
  • 举报
回复
不用applyupdates这种方式,试试!
直接对数据库操作,肯定会报错,
先解决错误,然后再改回applyupdates方式
IORILI 2003-09-01
  • 打赏
  • 举报
回复
procedure Tgb_k.SpeedButton2Click(Sender: TObject);
begin
if DM.CDS_gb_01.recordcount <> 0 then
begin
if Application.messagebox('请确认是否要删除', '管理系统', mb_iconinformation + mb_yesno) = idyes then
begin
DM.CDS_gb_01.delete;
DM.CDS_gb_01.applyupdates(0);//改为DM.CDS_gb_01.post
end;
end
else
begin
Application.messagebox('已没有记录可删除,请确认!', '管理系统', mb_iconinformation + mb_defbutton1);
end;
end;
byctiy 2003-09-01
  • 打赏
  • 举报
回复
不用这个

大家帮帮
hncx 2003-09-01
  • 打赏
  • 举报
回复
下载一个控件,
http://delphideveloper.myrice.com/docs/tecsubject/midas/tdbnavigatebutton.htm
很容易实现的,我做的东西就是用的这个东东了,去看看吧
nyf1220 2003-08-30
  • 打赏
  • 举报
回复
DM.CDS_gb_01
是什么?
yujohny 2003-08-30
  • 打赏
  • 举报
回复
你的DBGrid的数据源指向的数据集不是DM.CDS_gb_01吗?
如果不是的话,那就有这个问题存在,那就必须操作一次,刷新一次
47522341 2003-08-30
  • 打赏
  • 举报
回复
这个问题我以前也遇到过,
当时我采用的解决方案是每次对数据库进行操作后;再另外对数据库执行一次关闭和打开的操作,
但这种方式在数据库很大时就变得不是很现实,

我也希望能有其他更好的解决方法,关注。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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