3
回答
ADOQuery 在 单独的 unit 中不起作用?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

一个 button 的 click 中对 datamodule 中的 adoquery 操作后,结果可以在 dbgrid 中看到, 可是将 这段代码挪到 一个 独立的 unit 中,再调的时候在 dbgrid 中就看不到结果.

form

procedure MainForm.Button1Click(Sender: TObject);
var paramdao : sys_param_unit.TSysParamDao;
begin
   paramdao :=  sys_param_unit.TSysParamDao.create;
   paramdao.listAll;
end;

sys_param_unit

implementation
  constructor TSysParamDao.create;
  begin
    //datamodule := TDataModule1.Create(nil);
  end;


  procedure TSysParamDao.listAll;
  begin
    with datamodule.DataModule1.ADOQuery1 do
    begin
    Close;
    SQL.Clear;
    SQL.Add('select * from sys_param ');
    Active := True;
    Open;
    end;
  end;

举报
clt
发帖于5年前 3回/92阅
共有3个答案 最后回答: 5年前

...delphi 啊

呵呵!这样uses  下加ADODB

function GetUerID(guid:string):String; 
var
  query:TADOQuery;
begin
  query:=TADOQuery.Create(nil);
  query.Close;

.....

end;

引用来自“天闲”的答案

...delphi 啊

呵呵!这样uses  下加ADODB

function GetUerID(guid:string):String; 
var
  query:TADOQuery;
begin
  query:=TADOQuery.Create(nil);
  query.Close;

.....

end;

这是新建一个 ADOQuery 吧,新建了还要设置 connectionString ? 能用 datamodule 中已经建好的 ADOQuery 么?

procedure TSysParamDao.listAll;
  var
    query : TADOQuery;
  begin
    query := TADOQuery.Create(nil);
    with query do
    begin
    Close;
    SQL.Clear;
    SQL.Add('select * from sys_param ');
    Active := True;
    Open;
    end;
  end;

use 你的datamodule 就直接能用 datamodule的 jquyer吧!

你这里 var的adoquery 

可以设置datamodule的TADOConnection。

例如:

query:=TADOQuery.Create(nil);
  query.Close;
  query.Connection:=Data.ADOSJDB;

顶部