• Delphi窗体之间互相调用的简单问题


    问题是这样的,我的程序主窗口Form1上面有一个数据连接(ADOCONNECTION1)和ADOQUERY,然后还有一些数据感知组件用于浏览用的,我打算点击From1中的一个“修改数据”按钮,就弹出Form2,在中Form2我打算对其中的某条数据提取出来后进行修改,然后再通知Form1的ADOQUERY刷新数据。

    但是这里有一个问题,From1可以 use Form2,然后使用From2.show;,这个没有问题,但是From2是不能 use From1的,这就导致我在From2中无法使用已有的数据连接(ADOCONNECTION1)和ADOQUERY,而且当我修改完数据后也无法调用ADOQUERY.refresh;。

    当然了,我也完全可以这样:在From2上再放上单独的(ADOCONNECTION1)和ADOQUERY,然后From1把数据那行的GUID送到Form2中,From2据此读出数据并进行修改,这样看起来基本可以解决数据的录入问题,但是我记得专家说过,一个From上面再放1套数据连接是不正确的,起码是不优化的,所以我想问问一般应该如何处理呢?
    再添加一个data module,
    把ADOCONNECTION1和ADOQUERY
    放在其中
    在Form1中写这样的代码:
    Form2 := TForm2.Create(Self);
    try
      Form2.ShowModal;
      ADOQuery1.Refresh;
    finally
      Form2.Free;
    end;
    麻烦
    在Form2 的public 中写上
     property AdoQuery:TadoQuery read FAdoQuery write FAdoQuery;
    Form2 := TForm2.Create(Self);
    try
      Form2.AdoQuery:=AdoQuery1;
     if Form2.ShowModal= mrok then 
      begin 
        ADOQuery1.Refresh;
      end;
    finally
    Form2.Free;
    end;
  • 相关阅读:
    TypeScript 类型学习2
    TypeScript 类型学习4
    获取当前月份的前12个月份,获取上个月,获取本年度
    TypeScript 类型学习3
    TypeScript 类型学习1
    获取url的参数
    prettier 通用配置
    处理数字的保留位数
    echart React使用折线图
    antd tree渲染
  • 原文地址:https://www.cnblogs.com/jijm123/p/10572413.html
Copyright © 2020-2023  润新知