SQL.text:= 后面多条件语句要怎么写啊,+,and,''什么的搞不清楚,有什么规范么

解决方案 »

  1.   

    例子:1:SQl.text:='Select * from table where column='''+Adoquery1.filedbyname('column').Asstring+''' and  column1='''+Adoquery1.filedbyname('column1').Asstring+'''';
    2: 或者用format都可以
      

  2.   

    教大家一个简单的函数,如果参数值是字符串,用QUOTEDSTR()函数套一下
    SQL.txt:='Select   *   from   table   where   column= '+ QUOTEDSTR(Adoquery1.filedbyname( 'column ').Asstring) + ' and     column1= ' +  QUOTEDSTR(Adoquery1.filedbyname( 'column1 ').Asstring);
    这样是不是看起来简单,又不会出错,即使参数值中有单引号也不出错
      

  3.   

    支持用QuotedStr()函數,我一直都是這麼用的!
    例:
    var
      strSQL:string;
    begin
      strSQL:=' select * from table where field= '+QuotedStr(edit1.text);
    end;
    也可固定的字符串啊:
       strSQL:=' select * from table where field= '+QuotedStr('example');
      

  4.   

    你可以这样,用sql.add
    比如
    query.close;
    query.sql.clear;
    quert.sql.add('select * from aaaa ');
    query.sql.add(' where aaa=aaaa');
    query.open;
      

  5.   

    呵呵,原来还有QuotedStr()函數,省去了那一大串的引号.
      

  6.   

    最好这样使用:
    with qry do
    begin
     close;
     sql.clear;
     sql.add(Format('select * from abc wher a=%d,b=%s',
                    [
                     id,
                     QuotedStr(Name)
                     ]));
     execsql;
    end;