一个关于Tquery的问题

tinylion971 2003-05-15 05:27:51
我在一个FORM,用DBGRID和Tquery 显示了一个表的内容

如果我没有用close命令先关闭该表

而是直接用close关闭了FORM, 此是该表是不是自动关闭了哪?

...全文
28 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiflower 2003-05-20
  • 打赏
  • 举报
回复
如果要 DESTROY 一个 FORM,则首先必须这个 FORM 是你 CREATE 的,并且一般用 RELEASE 来释放它。
madyak 2003-05-15
  • 打赏
  • 举报
回复
已经结贴了,我再两句:
窗体一般动态创建为好,一般语法是这样
form1:=Tform1.Create(Self)
try
Form1.ShowModal;
finally
Form1.Free;
Fom1:=nil;//不是必需的
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Query.Close;
Action:=Cafree;//最好有这句;
end;
78 2003-05-15
  • 打赏
  • 举报
回复
我在一个FORM,用DBGRID和Tquery 显示了一个表的内容

如果我没有用close命令先关闭该表

而是直接用close关闭了FORM, 此是该表是不是自动关闭了哪!


A:如果这个Tquery是在form中动态建立的,则此表自动关闭.
B:如果这个form是主表单,则此表自动关闭.
C:否则,此表没有关闭,处于打开状态.



tinylion971 2003-05-15
  • 打赏
  • 举报
回复
TO madyak(无天)

那意思是必须用两个命令

FORM.CLOSE;
form.destroy;

这样才可以吗?(初学者,请大侠们耐心指教哦)
madyak 2003-05-15
  • 打赏
  • 举报
回复
没有关闭!
tinylion971 2003-05-15
  • 打赏
  • 举报
回复
TO hiflower(花)

那我 直接写 FORM.DESTROY 代替 FORM.CLOSE ,这样行不?
wooden954 2003-05-15
  • 打赏
  • 举报
回复
同意楼上
当Form关闭后,你还可以在别的地方访问它里面的数据,关闭不从内存中释放该窗体
hiflower 2003-05-15
  • 打赏
  • 举报
回复
如果你的 FORM 在 CLOSE 后,又 DESTROY,则 QUERY 也会CLOSE
gardenyang 2003-05-15
  • 打赏
  • 举报
回复
不一定,此时要看你的close事件里面有没有做处理了。强烈建议手动query.close

2,495

社区成员

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

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