请教几个问题?

MOZ 2000-03-13 02:03:00
1. 有三个窗体,form1,form2,form3。FORM1,FORM2都调用FORM3,
FORM3如何判断是哪个窗体调用他,是FORM1还是FORM2?(不通过设置全局变量)
2. TABLE和QUERY都有CACHEUPDATE的属性,为什么把TABLE置成MASTER-DETAIL模式,
把CACHEUPDATE属性置为TRUE,那么,作为明细表的TABLE,增加第一条记录后,
如果再增加记录,就会出现错误提示“AT END OF TABLE”。
如果不用MASTER-DETAIL模式,就不会出现这种情况。这是为什么?
4. 当数据库增加一条新记录的时候,想刷新数据集,如果是Ttable,可以用reflesh;
如果是Tquery,就不行,这是为什么?如何快速更新TQuery的数据?
...全文
165 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengdeng 2000-03-22
  • 打赏
  • 举报
回复
回答第三点。正象Lin所说的那样,TQUERY是一个静态数据集。

如果想提高查询的速度可以设置查询返回的记录数,避免每次查询时

大量的数据传输。
lybt 2000-03-19
  • 打赏
  • 举报
回复
query1.close;
query1.open;
lybt 2000-03-19
  • 打赏
  • 举报
回复
Master不要设成cacheupdate即可!
Jean 2000-03-18
  • 打赏
  • 举报
回复
Show ? ShowModal ? Create ? or other ?
Lin 2000-03-13
  • 打赏
  • 举报
回复
1、Form3不要自动创建;在Form3的OnCreate事件中:
procedure TForm3.OnCreate(Sender: TObject);
begin
if Owner.ClassName = 'TForm1' then
ShowMessage('Form1')
else
ShowMessage('Form2');
end;

然后在Form1或Form2的事件中加入:
with TForm3.Create(Self) do
try
ShowModal;
finally
Free;
end;
即可。
2、我也不太懂,另请高手。@_@
3、TQuery一般来说是个静态数据集,返回的是某次查询结果。如果要达到你的要求,只能在TTable的AfterPost后再执行TQuery的查询了。

5,388

社区成员

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

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