請教怎麼實現這個查詢?(50分)

  • 主题发起人 主题发起人 杜風
  • 开始时间 开始时间

杜風

Unregistered / Unconfirmed
GUEST, unregistred user!
查詢條件一:EDIT01;
查詢條件二:范圍在EDIT02和EDIT03之間
當然所有條件都可能為空,從表QUERY中查詢,怎麼判斷?
 
没说清楚,不太明白
判断为空就判断edit是否为空呗
 
就是說查詢要包括為空和不為空兩種情況,查詢滿足條件一和范圍在條件二中的所有記錄,
如果為空的不另外判斷不能得出正確結果,怎麼寫更簡單?
 
ssql := 'select * from tabel1 where 1=1'
if trim(edit01)= '' then
ssql := ssql + 'and field1='''+edit01 +'''' ;
if trim(edit02)= '' then
ssql := ssql + ' and field2>''' + edit02 +'''';
if trim(edit03)= '' then
ssql := ssql + ' and field2<''' + edit03 +'''';
query1.sql.text := ssql;
 
var
strsql:string;
if (trim(edit01.text)='') or (trim(edit02.text)='')or(trim(edit03.text)='') then
showmessage('') else begin
strsql:=' select * from table where field='''+trim(edit01.text)=+''' and ';
strsql:=strsql+'('' field >='+trim(edit02.text)=+''' and field <='''+trim(edit03.text)=+''')';
query1.close;
query1.sql.text:=strsql;
query1.open;
end;
 
多人接受答案了。
 
后退
顶部