select * from table
where name like ???????:myparam??????
问号的地方我不知道怎样写

解决方案 »

  1.   

    看看下面的语句对你有没有用
    query1.sql.clear;
    query1.sql.add('select * from from table where field1 like ''%'+edit1.text+'%''');
    query1.open;
      

  2.   

    select *from table1 where field1 like :p1;query1.parambyname('p1').value:='%'+Edit1.text+'%';
      

  3.   

    query1.close;
     query1.clear;
     query1.sql.add('select * from 库名 Where 字段 like ''%'+trim(edit1.text)+'%'' ');
    query1.open;谓词LIKE可以用来进行字符串的匹配,一般语法格式如下:
    [NOT] LIKE ‘<匹配串>’[ESCAPE‘<换码字符>’]
    其含义是查找指定的属性列值与<匹配串>相匹配的元组。<匹配串>可以是一个完整的字符串,也可以含有通配符%和_。其中:
      %:代表任意长度的字符串。
      _:代表任意单个字符。
      

  4.   

    with query1 do
    begin
       close;
       sql.clear;
       unprepare;
       sql.text:='select * from tablename where fieldname like ''%:myparam%''';
       parambyname('myparam').asstring:=edit1.text;
       prepare;
       execsql;
    end;