这个SQL语句怎么在delphi中用sql.add()写啊?
Basic表为:
gonghao  name  sex  telephone
001       aa    m     12345678
002       bb    f     23456789
003       cc    m     22222222
str从edit1.text中获取,为字段名,
str1从edit2.text中获取,为符号(<,>,<>,<=,>=),
str2从edit3.text中获取,为字段值,
str3从edit4.text中获取,为字段名(用来以该字段排序),
str4从edit5.text中获取,为(asc,desc),
例如:select * from Basic where sex=m order by gonghao asc ,
str:=sex;
str1:='=';
str2:=m;
str3:=gonghao;
str4:=asc;
怎么在delphi中用sql.add()写出来
请各位帮忙,一定给分得哦!

解决方案 »

  1.   

    sql.add('select * from [basic] where '+edit1.text+' '+edit2.text+' '+quotedstr(edit3.text)+' order by '+edit4.text+' '+edit5.text)
      

  2.   

    sql.add('select * from [basic] where '+Trim(edit1.text)+' '+Trim(edit2.text)+' '+ Trim(edit3.text)+' order by '+Trim(edit4.text)+' '+Trim(edit5.text))
      

  3.   

    sql.add
    (
    'select * from basic where ' + edit1.text + edit2.text + ''' +edit3.text+ ''' order by ' + edit4.text + edit5.text
    )
      

  4.   

    sql.add('select * from [basic] where 1=1 ');
    if trim(edit1.text)<>'' and trim(edit2.text)<>'' then
      sql.add('and'+ trim(edit1.text)+trim(edit2.text)+trim(edit3.text));
    if trim(edit4.text)<>'' and trim(edit5.text)<>'' then
      sql.add(' order by '+Trim(edit4.text)+' '+Trim(edit5.text));
      

  5.   

    sql.add
    ('select * from basic where'+exit1.text+edit2.text+''''+edit3.text+''''+'order by'+edit3.text+' '+edit4.text);
      

  6.   

    var
      sSql:string;
    begin
      sSql := 'select * from basic where ' +   exit1.text + edit2.text + '''' + edit3.text + '''' + 'order by' + edit3.text + ' ' + edit4.text;
      with query1 do
      begin
        close;
        sql.clear;
        sql.add(sSql);
        open;
      end;
    end;