为什么ADOQuery删不掉记录?

rebirth2003 2003-12-14 09:25:44
我用DBGrid和ADOQuery关联,可以从SQL Server2000中查询出记录,显示在DBGrid中,也可以在DGBrid中修改记录并保存到数据库中,但是用下面语句却不能删除数据库中的当前记录记录。为什么?
adoquery1.close;
ADOQuery1.Open;
ADOQuery1.Delete;
ADOQuery1.Refresh;

如果用SQL语句,要删除当前记录,该怎样写?
...全文
57 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
ske3 2003-12-15
  • 打赏
  • 举报
回复
adoquery1.close;
ADOQUERY1.SQL.CLEAR;
ADOQUERY1.SQL.ADD('DELETE FROM 表名 WHERE 条件');
ADOQUERY1.EXECSQL;//千万不要使用ADOQUERY1.OPEN。因为OPEN 用于查询,插入和删除要用EXECSQL
every123 2003-12-15
  • 打赏
  • 举报
回复
你有没有执行?
wooden954 2003-12-15
  • 打赏
  • 举报
回复
不可能删不掉的,只是你当时看不到效果罢了
china_jian 2003-12-15
  • 打赏
  • 举报
回复
ADOQuery1.Refresh;
不用这句。
warehard 2003-12-15
  • 打赏
  • 举报
回复
当你删除后,再执行查询语句更新一下,看看好何?如行了,就说明你没立即更新
zfdolphin 2003-12-15
  • 打赏
  • 举报
回复
为什么要用ADOQuery呢,为什么不用ADOUpdate(好象叫这个)呢?
muckfir 2003-12-15
  • 打赏
  • 举报
回复
if not adoquery1.active then
adoquery1.open;
adoquery1.delete;
前提是不能有重复记录否则会显示列键信息不足而出错。
yuehua 2003-12-14
  • 打赏
  • 举报
回复
注意你的QUERY的数据锁类型
rebirth2003 2003-12-14
  • 打赏
  • 举报
回复
是啊,理论上可以啊!
可是,就是删不掉啊!
…… ???
angle097113 2003-12-14
  • 打赏
  • 举报
回复
直接删除当前记录的话就是adoquery1.delete就是可以了
liuhengwinner 2003-12-14
  • 打赏
  • 举报
回复
问题出在你的SQL语句上!按楼上说的做!
rebirth2003 2003-12-14
  • 打赏
  • 举报
回复
用ADOQuery1.DeleteRecords(arCurrent);也不能删除掉当前记录。
总之,删不掉!为什么?
如果用SQL语句,详细怎么写?是当前记录!
SQL语句删除记录的语法是:delete from tablename Where 条件,在删除当前记录时,“条件”应该如何写呢?
angle097113 2003-12-14
  • 打赏
  • 举报
回复
如果你说数据删除不了的 一个就是你的数据集用了缓存的模式的
或者你的数据集没有刷新过来的 你再adoquery1.close;后adoquery1.open试试呢
VeryOldMan 2003-12-14
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2514/2514776.xml?temp=.4467279
kylix2003 2003-12-14
  • 打赏
  • 举报
回复
Refresh
wyr521 2003-12-14
  • 打赏
  • 举报
回复
有个当前记录号:RECORDNUM你看下这个属性
ln521 2003-12-14
  • 打赏
  • 举报
回复
close;
...
open;

2,497

社区成员

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

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