请问大家:
在TQuery控件怎样把用SQL查询到的记录显示在一个ListBox控件里?
比如:
Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from note.db');
Query1.SQL.Add(Where title like :str');            //title为Note.db的一个列属性
Query1.ParamByName('str').AsString:=Edit1.Text;    
Query1.ExecSQL;假设以上查询找到了8项记录,怎样把这8项记录加到ListBox里面去呢?
请给出具体代码,谢谢!

解决方案 »

  1.   

    Query1.close;
    Query1.SQL.Clear;
    Query1.SQL.Add('Select * from note.db');
    Query1.SQL.Add(Where title like :str');            //title为Note.db的一个列属性
    Query1.ParamByName('str').AsString:=Edit1.Text;    
    Query1.open;
      listbox1.Clear;
      while not query1.Eof do
        Listbox1.Items.Add(query1.fieldbyname('fieldname').AsString);
      

  2.   

    掉了一句listbox1.Clear;
      while not query1.Eof do
    begin
        Listbox1.Items.Add(query1.fieldbyname('fieldname').AsString);
        query1.next;
    end;
      

  3.   

    补充一下楼上的:
    ----------------------------------------
    ListBox1.Items.BeginUpdate;
    try
    listbox1.Clear;
      while not query1.Eof do
        Listbox1.Items.Add(query1.fieldbyname('fieldname').AsString);
    finally
      ListBox1.Items.EndUpdate;
    end;
      

  4.   

    掉了一句
    补充一下楼上的:
    ----------------------------------------
    ListBox1.Items.BeginUpdate;
    try
    listbox1.Clear;
      while not query1.Eof do
      begin
        Listbox1.Items.Add(query1.fieldbyname('fieldname').AsString);
        query1.next;
      end;
    finally
      ListBox1.Items.EndUpdate;
    end;
      

  5.   

    to:    alphax() 好象没有必要这个样子把!^_^,。。
      

  6.   

    请问各位:
    为什么偶用like查找,不能模糊检索呢?
    偶上面的语句有没有问题啊?偶用了上面各位提供的方法,可是查找的记录都是0
    是偶用Like用错了吗?
      

  7.   

    如果用like就要带%,否则就错了(access例外把)如果不用模糊查询,就用=号不是很好吗?速度更快一些
      

  8.   

    ListBox1.Items.BeginUpdate;
    ListBox1.Items.EndUpdate;
    这两句是干什么用的啊?
      

  9.   

    ListBox1.Items.BeginUpdate;//表示开始更新
    ListBox1.Items.EndUpdate;//表示结束更新这两句话没有用过,也没有这个必要select * from table where field like '%ddd%';
    select * from table where field like 'ddd%';
    select * from table where field like '%ddd';
      

  10.   

    guorui_wh(Re) 大哥,太谢谢您了!!:)
      

  11.   

    如果数据不多,确实没有必要调用Begin/EndUpdate
    它主要是防止ListBox每次Add时重画
      

  12.   

    guorui_wh(Re) 和alphax() 两位大哥:小弟实在想和您们交个朋友互相交流学习Delphi!!这是偶的QQ:41327518,看得起偶就加偶为好友吧:)这个帖子,偶会在晚上结贴的,谢谢!
      

  13.   

    我没有QQ,好像申请不了,现在我才知道QQ的重要性
      

  14.   

    query1.first;// 最好加上这一句
    while not query1.Eof do
      begin
        Listbox1.Items.Add(query1.fieldbyname('fieldname').AsString);
        query1.next;
      end;
      

  15.   

    to:delphi0build(超级模块) 不用加这个Query.first;应为open之后,就是first