首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

帮小弟我看看这代码如何改?多条件查询

2012-02-17 
帮我看看这代码怎么改?多条件查询procedure TForm1.Button1Click(Sender: TObject) //根据日期和员工号查

帮我看看这代码怎么改?多条件查询
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;

呵呵办法古老点.....

[解决办法]

Delphi(Pascal) code
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;
[解决办法]
Delphi(Pascal) code
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;


热点排行