太
太保球
Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个查询的时候想实现多值动态查询,既有正常记录的查询,也有日期的查询,
还有条件查询,通过=,>.<来实现条件查询,可是我的语句不能实现,编译还能通过
,就是执行的时候抱错,希望大家给修改一下,
谢谢!!!
procedure TForm1.BitBtn1Click(Sender: TObject);
var aSQL,sign:string;
begin
if combobox2.text<>'' then aSQL:='and 货品类型="'+combobox2.text+'" ';
if combobox3.text<>'' then aSQL:=aSQL+ 'and 进货方式="'+combobox3.text+'" ';
if checkbox1.Checked then aSQL:=aSQL+ 'and 进货时间=:d1';
case ComboBox1.ItemIndex of
0: sign:='=';
1: sign:='>';
2: sign:='<';
end;
if checkbox2.Checked then aSQL:=aSQL+'and 进货数量="'+sign+'","'+Edit3.Text+'"';
if asql<>''then
begin
query1.close;
query1.SQL.Clear;
query1.sql.text:='select * from jin.db where 货品类型<>"" '+asql;
if checkbox1.Checked then
begin
Query1.ParambyName('d1').asdate:=DateTimePicker1.Date;
end;
query1.prepare;
query1.Open;
end;
end;
还有条件查询,通过=,>.<来实现条件查询,可是我的语句不能实现,编译还能通过
,就是执行的时候抱错,希望大家给修改一下,
谢谢!!!
procedure TForm1.BitBtn1Click(Sender: TObject);
var aSQL,sign:string;
begin
if combobox2.text<>'' then aSQL:='and 货品类型="'+combobox2.text+'" ';
if combobox3.text<>'' then aSQL:=aSQL+ 'and 进货方式="'+combobox3.text+'" ';
if checkbox1.Checked then aSQL:=aSQL+ 'and 进货时间=:d1';
case ComboBox1.ItemIndex of
0: sign:='=';
1: sign:='>';
2: sign:='<';
end;
if checkbox2.Checked then aSQL:=aSQL+'and 进货数量="'+sign+'","'+Edit3.Text+'"';
if asql<>''then
begin
query1.close;
query1.SQL.Clear;
query1.sql.text:='select * from jin.db where 货品类型<>"" '+asql;
if checkbox1.Checked then
begin
Query1.ParambyName('d1').asdate:=DateTimePicker1.Date;
end;
query1.prepare;
query1.Open;
end;
end;