返回值的问题(50分)

  • 主题发起人 主题发起人 2898313
  • 开始时间 开始时间
2

2898313

Unregistered / Unconfirmed
GUEST, unregistred user!
我写单机版数据库 用到统计数据时的
SQL 语言是这样写的

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select sum(A1) from tb where dweek BETWEEN 星期1 AND 星期三');

ADOQuery1.Active:=true;


因为是统计数据 所以要返回一个值
我这样写不行
这个语句是要返回一个值的

我要怎么才能叫他
返回一个值给 edit1.text 呢??
 
sql改一下,加个xx: select sum(A1) as xx
if ADOQuery1.RecordCount > 1 then
edit1.text := Trim(ADOQuery1.FieldByName('xx').AsString) 就可以
 
edit1.text 是能是一個值
先確保你的
adoquery1.active:=false;
ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select sum(A1) from tb where dweek BETWEEN 星期1 AND 星期三');

ADOQuery1.Active:=true;
是一個值

if ADOQuery1.RecordCount > 0 then
edit1.text := Trim(ADOQuery1.FieldByName('xx').AsString); 就可以
 
adoquery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select sum(A1) as tt from tb where dweek BETWEEN 星期1 AND 星期三');
ADOQuery1.Active:=true;
edit1.text:=adoquery.fieldbyname('tt').asstring;
 
with ADOQuery1 do
begin
close;
sql.clear;
sql.text:='select isnull(sum(A1),0) as tt from tb where dweek BETWEEN 星期1 AND 星期三';
open;
edit1.text:=fieldbyname('tt').asstring;
end;
 
后退
顶部