程序里有一个listbox  当点击查询按钮时  利用adoquery查询出所有包含listbox.items[1] 或 包含listbox.items[2]...   请问这样的查询语句该怎么写??

解决方案 »

  1.   

    在where条件里用like
    例如select A from table where A like '%'+listbox[1]+'%'
      

  2.   

    Adoquery1.Sql.Text:='select A from table where A like ''%'''+listbox.items[1]+'''%''';
    Adoquery1.Open;
      

  3.   

    我指的是  包含A或包含B或包含C...    只写一个sql语句  是不是这样
    select X from table where X like ''%A%''' or X like ''%A%''' or X like ''%A%'''...;
    还有其他的写法吗??
      

  4.   

    如果不是模糊查询,可以用 X in ('A','B','C')
      

  5.   

    'select A from table where A like ''%'''+listbox.items[1]+'''%''';
      

  6.   

    select X from table where  X like ''%A%'''
    union 
    select X from table where  X like ''%B%''' 
    union
    select X from table where  X like ''%C%'''...;
      

  7.   

    select X from table where X like ''%A%''' or X like ''%A%''' or X like ''%A%'''...;
      

  8.   

    var sqlstr:string;
    begin
         sqlstr:='select * from shiyukey where ShiyuKeyName like ''%'+Edit1.Text+'%'' ';    ADOQuery1.sql.Clear ;
         ADOQuery1.SQL.Add(sqlstr);
         ADOQuery1.Open ;
    end;如果edit1的内容为空将查询出所有记录
      

  9.   

    var
    sqlstr:string;
    i:integer;
    begin
      sqlstr:='select * from table_a ';
      for i:=0 to listbox.items.count-1 do
        if i=0 then
        sqlstr:=sqlstr+'where field_a like ''%'+listbox.items[1] +'%'' '
         else
        sqlstr:=sqlstr+'and field_a like ''%'+listbox.items[1] +'%'' ';
      ADOQuery1.sql.Clear ;
      ADOQuery1.SQL.Add(sqlstr);
      ADOQuery1.Open ;end;