帮我看看这代码怎么改?多条件查询
procedure TForm1.Button1Click(Sender: TObject); //根据日期和员工号查询
begin
adoconnection1.Connected:=true;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from t_fundsflow where date>='''+datetimetostr(DateTimePicker1.datetime)+'''and date<='''+datetimetostr(DateTimePicker2.datetime)+'''and User='''+edit2.text+'''';
adoquery1.ExecSQL;
adoquery1.Active:=true;
我想让 User='''+edit2.text+'''' 这个条件就算不填写也能查出数据
就是说如果填写就加上这个条件,不填写就没有这个条件。
这代码该怎么写?我想对懂的人来说应该很简单
[解决办法]
if edit2.text < >'' then
adoquery1.SQL.Text:='select * from t_fundsflow where date>='''+datetimetostr(DateTimePicker1.datetime)+'''and date <='''+datetimetostr(DateTimePicker2.datetime)+'''and User='''+edit2.text+''''
else begin
adoquery1.SQL.Text:='select * from t_fundsflow where date>='''+datetimetostr(DateTimePicker1.datetime)+'''and date <='''+datetimetostr(DateTimePicker2.datetime)+'''and
end;
呵呵办法古老点.....
[解决办法]
if edit2.text < >'' then adoquery1.SQL.Text:='select * from t_fundsflow where date>='''+datetimetostr(DateTimePicker1.datetime)+'''and date <='''+datetimetostr(DateTimePicker2.datetime)+'''and User='''+edit2.text+'''' else begin adoquery1.SQL.Text:='select * from t_fundsflow where date>='''+datetimetostr(DateTimePicker1.datetime)+'''and date <='''+datetimetostr(DateTimePicker2.datetime)+'''; end;
[解决办法]
procedure TForm1.Button1Click(Sender: TObject); //根据日期和员工号查询 var K1,K2,K3:String;begin K1:=Formatdatetime('yyyy-mm-dd',DateTimePicker1.datetime); K2:=Formatdatetime('yyyy-mm-dd',DateTimePicker2.datetime);//引号中格式以你数据库为准 K3:=Trim(edit2.text); adoconnection1.Connected:=true; adoquery1.close; adoquery1.SQL.Clear; adoquery1.SQL.add('select * from t_fundsflow where date between'+''''+K1+''''+' and '+''''+K2+''''); if k3<>'' then adoquery1.SQL.add(' and User='+''''+K3+''''); adoquery1.Open; end;
[解决办法]
adoconnection1.Connected:=true;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from t_fundsflow where date>='''+datetimetostr(DateTimePicker1.datetime)+'''and date <='''+datetimetostr(DateTimePicker2.datetime)+'''and User='''+edit2.text+'''';//改成下面的
if Trim(Edit2.text)<>'' then
adoquery1.SQL.Text:='select * from t_fundsflow where date>='''+datetimetostr(DateTimePicker1.datetime)+'''and date <='''+datetimetostr(DateTimePicker2.datetime)+'''and User='''+edit2.text+''''
else
adoquery1.SQL.Text:='select * from t_fundsflow where date>='''+datetimetostr(DateTimePicker1.datetime)+'''and date <='''+datetimetostr(DateTimePicker2.datetime)+'''';
adoquery1.ExecSQL;//这句去掉
adoquery1.Active:=true; //改成adoquery1.open;