(在线等待)ADOQuery1.FieldByName('')找不到字段
数据库中有表 MN,表中有字段:dates(日期) inmoney(借款金额)
我是想在一个指定的时间段里面查询一共借款多少,但下面的代码运行之后一直提示,ADOQuery1.Fields找不到'inmoney'字段,这是什么愿意呢?下面的代码错在哪里啊?
本人是新手,请高手帮忙看一下:
var
sql,st,ed:string;
begin
st:=Datetostr(DateTimePicker1.Date);
ed:=Datetostr(DateTimePicker1.Date);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
sql:='SELECT SUM(inmoney) FROM MN WHERE dates BETWEEN :st AND :ed' ;
ADOQuery1.SQL.Add(sql);
EDit3.Text:= ADOQuery1.FieldByName('inmoney').AsString;
ADOQuery1.Open;
end;
[解决办法]
sql:='SELECT SUM(inmoney) FROM MN WHERE dates BETWEEN :st AND :ed' ;
改成
sql:='SELECT SUM(inmoney) as inmoney FROM MN WHERE dates BETWEEN :st AND :ed' ;
[解决办法]
1、SUM(inmoney) as inmoney
2、参数不赋值吗?
3、 应该先OPEN吧
ADOQuery1.Open;
EDit3.Text:= ADOQuery1.FieldByName('inmoney').AsString;
[解决办法]
var
sql,st,ed:string;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
sql:='SELECT SUM(inmoney) as inmoney FROM MN WHERE dates >= '''+Datetostr(DateTimePicker1.Date)+''' AND dates <='''+Datetostr(DateTimePicker2.Date)+'''' ;
ADOQuery1.SQL.Add(sql);
ADOQuery1.Open;
EDit3.Text:= ADOQuery1.FieldByName('inmoney').AsString;
end;
应该是DateTimePicker2.Date 吧,完整了