delphi 想读两个数据而已,该如何处理
delphi 想读两个数据而已
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是两个时间点,想把这两个点的数据读入,进行处理,不知道这样写对不对,求助各位了
------解决方案--------------------
参考下面写法:
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;
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是两个时间点,想把这两个点的数据读入,进行处理,不知道这样写对不对,求助各位了
------解决方案--------------------
参考下面写法:
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;