procedure TForm5.BitBtn1Click(Sender: TObject);
var q:TQuery;
s1,s2:string; //起止时间
d1,d2:double; //起止时间
begin
//得到用户选择的起止时间
s1:=combobox1.Text+combobox2.Text+combobox3.Text;
s2:=combobox4.Text+combobox5.Text+combobox6.Text;
d1:=strtodate(s1);
d2:=strtodate(s2); if form1.RadioButton1.Checked=True then //查询固定件
begin
form1.Query2.SQL.Clear;
form1.Query2.SQL.Add('select * from 出件登记表 where 日期>:d1 and 日期<:d2');
form1.Query2.Open; //统计所有的记录条数
q:=TQuery.Create(nil);
q.DatabaseName:='hm';
q.SQL.Clear;
q.SQL.Add('select count(*) as Row_count from 出件登记表 where 日期>:d1 and 日期<:d2');
q.Open;
form1.edit7.Text:=q.fieldbyname('Row_count').AsString; //统计所有记录的总金额
q.SQL.Clear;
q.SQL.Add('select sum(总金额) as Row_count from 出件登记表 where 日期>:d1 and 日期<:d2');
q.Open;
form1.edit8.Text:=q.fieldbyname('Row_count').AsString;
q.Free;
end
else //查询活动件
begin
form1.query2.SQL.Clear;
form1.query2.SQL.Add('select * from 活动件登记表 where 日期>:d1 and 日期<:d2');
form1.query2.Open; //统计所有的记录条数
q:=TQuery.Create(nil);
q.DatabaseName:='hm';
q.SQL.Clear;
q.SQL.Add('select count(*) as Row_count from 活动件登记表 where 日期>:d1 and 日期<:d2');
q.Open;
form1.edit7.Text:=q.fieldbyname('Row_count').AsString; //统计所有记录的总金额
q.SQL.Clear;
q.SQL.Add('select sum(总金额) as Row_count from 活动件登记表 where 日期>:d1 and 日期<:d2');
q.Open;
form1.edit8.Text:=q.fieldbyname('Row_count').AsString;
q.Free;
end;
form5.Close;
end;运行时显示如下错误: ‘200511’is not a valid date
var q:TQuery;
s1,s2:string; //起止时间
d1,d2:double; //起止时间
begin
//得到用户选择的起止时间
s1:=combobox1.Text+combobox2.Text+combobox3.Text;
s2:=combobox4.Text+combobox5.Text+combobox6.Text;
d1:=strtodate(s1);
d2:=strtodate(s2); if form1.RadioButton1.Checked=True then //查询固定件
begin
form1.Query2.SQL.Clear;
form1.Query2.SQL.Add('select * from 出件登记表 where 日期>:d1 and 日期<:d2');
form1.Query2.Open; //统计所有的记录条数
q:=TQuery.Create(nil);
q.DatabaseName:='hm';
q.SQL.Clear;
q.SQL.Add('select count(*) as Row_count from 出件登记表 where 日期>:d1 and 日期<:d2');
q.Open;
form1.edit7.Text:=q.fieldbyname('Row_count').AsString; //统计所有记录的总金额
q.SQL.Clear;
q.SQL.Add('select sum(总金额) as Row_count from 出件登记表 where 日期>:d1 and 日期<:d2');
q.Open;
form1.edit8.Text:=q.fieldbyname('Row_count').AsString;
q.Free;
end
else //查询活动件
begin
form1.query2.SQL.Clear;
form1.query2.SQL.Add('select * from 活动件登记表 where 日期>:d1 and 日期<:d2');
form1.query2.Open; //统计所有的记录条数
q:=TQuery.Create(nil);
q.DatabaseName:='hm';
q.SQL.Clear;
q.SQL.Add('select count(*) as Row_count from 活动件登记表 where 日期>:d1 and 日期<:d2');
q.Open;
form1.edit7.Text:=q.fieldbyname('Row_count').AsString; //统计所有记录的总金额
q.SQL.Clear;
q.SQL.Add('select sum(总金额) as Row_count from 活动件登记表 where 日期>:d1 and 日期<:d2');
q.Open;
form1.edit8.Text:=q.fieldbyname('Row_count').AsString;
q.Free;
end;
form5.Close;
end;运行时显示如下错误: ‘200511’is not a valid date
s2:=combobox4.Text+combobox5.Text+combobox6.Text;
d1:=strtodate(s1);
d2:=strtodate(s2);--------------改为
d1:=Encodedate(Strtoint(combobox1.Text),Strtoint(combobox2.Text),Strtoint(combobox3.Text));
d2:=Encodedate(Strtoint(combobox4.Text),Strtoint(combobox5.Text),Strtoint(combobox6.Text));
d2:=strtodate(s2);这两句把STRING变成日期会有问题,如果没猜错combobox1.Text+combobox2.Text+combobox3.Text是年+月+日,这样日期格式就不对。S1:=combobox1.Text+'-'+combobox2.Text+'-'+combobox3.Text;在写SQL语句时候,其d1和d2没有定义。ParamByName('d1').Asdatetime:=d1;
invald argument to date encode 错误呀
s2:=combobox4.Text+'-'+combobox5.Text+'-'+combobox6.Text;
去掉 d1:=strtodate(s1);
去掉 d2:=strtodate(s2);
直接用s1,s2 试试看
看下行不行
invald argument to date encode 错误呀错误提示