qrystring:='select * from BatForcast5 where Bat_datetime= ' + QuotedStr(strtime1)+ ''; //读入的是整个表的数据?
   qrystring1:='select * from BatForcast5 where Bat_datetime= ' + QuotedStr(strtime2)+ '';   
   ADOquery1.Close;
   ADOquery1.SQL.clear;
   ADOquery1.SQL.Add(qrystring);
   ADOquery1.SQL.Add(qrystring1);  //这里是不是多余的啊?
   ADOquery1.open;
   ADOquery1.first;
   a:= adoquery1.fieldbyname('Bat_Soc').value;
   B_id:=adoquery1.fieldbyname('Bat_id').asstring;
   ADOquery1.next;
   b:= adoquery1.fieldbyname('Bat_Soc').value;
   SOCb:=SOCb+((b-a)/12);   //直接相除是real型吗?
   txtSOCb.Text :=SOCb.asstring;   //写入
   ADOquery1.close;strtime1、2是两个时间点,想把这两个点的数据读入,进行处理,不知道这样写对不对,求助各位了DelphiSQL数据 ADOquery1.SQL.Add

解决方案 »

  1.   

    参考下面写法:
    qrystring1:='select * from BatForcast5 where Bat_datetime between ' + QuotedStr(strtime1)
     +' and '+QuotedStr(strtime2);   
       ADOquery1.Close;
       ADOquery1.SQL.clear;
       ADOquery1.SQL.Add(qrystring1);
       ADOquery1.open; // 到这就可以获取数据,下面是遍历数据
       AdoQuery1.First;
       while not AdoQuery1.Eof do
       begin
         .... 这里写你的代码
         AdoQuery1.Next;
       end;