help me ?delphi5

hubangjian 2000-08-23 10:14:00
在我的QUERY连接上了DBGRID后,怎样在DBGRID中选定了一条记录后,然后删除它?但用
QUERY.DELETE 老是出错,不在编辑和插入状态,我都做了,还是不行?用另外的方法,
QUERY的SQL方法删除时,怎样在DBGRID中捕捉鼠标当前选定的行,代码如何写?


...全文
111 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Delfly 2000-09-03
  • 打赏
  • 举报
回复
带order by语句的结果集可以更新,但会数据会更新错位,通过连接TSqlUpdate控件就可以了。
goodman1999 2000-08-23
  • 打赏
  • 举报
回复
Query的结果集能否修改,要看你的SQL语句是否符合一定的规范,有一些SQl的结果是无法修改的如带有ORDER BY子句。Query控件有个RecNo属性可用于捕捉鼠标当前选定的行。
例:
var
aRecNo : integer;
begin
aRecNo := aQuery.RecNo;
aQuery.DisableControls;
aQuery.Close;
...delete record...
aQuery.Open;
aQuery.EnableControls;
if aRecNo <= aQuery.RecordCount then
begin
aQuery.RecNo := aRecNo;
end
else
begin
aQuery.Last;
end;
end;

不知此答是否对路,如有疑问可继续讨论。
kxy 2000-08-23
  • 打赏
  • 举报
回复
Query的RequestLive := True;

5,379

社区成员

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

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