我在做一个简单的数据库应用程序,类似于图书管理系统什么的,有一些问题不明白想请教一二。
 1、我想在一个查询窗口中作一个模糊查询,看到书上介绍了不少函数可以实现,比如locate和setkey等等,如果表中有多条记录满足查询要求,应该怎样实现?如果把满足条件的记录通过一个DBGrid组件显示应该怎样做呢?望指教
 2、我用memo或者dbmemo组件的时候,在监视器中没有text 属性,我应该怎样在设置才能让这个组件的文本框在窗体一出现时文本框中就没有文字呢。
   问题有点幼稚,我过我很喜欢Delphi,现在刚刚上点路,望高手不吝赐教!!

解决方案 »

  1.   

    1、建议用SQL语句查询
    2、LINES属性
      

  2.   

    问题一:用SQL语句来实现 with ADOQuery1 do
       begin
         Close;
         sql.Clear;
         sql.Add('select * from 表名 where 某字段 like ''%'+Edit1.Text+'%''');
         Open;
       end;
    在你的DBGRID中显示 AdoQuery1 中的内容即可
      

  3.   

    问题二:
      Meno1.Lines.Clear;
      

  4.   

    问题二:
      Memo1.Lines.Clear;
      

  5.   

    问题一我想用Table或者Query组件来实现,应该怎么写,怎样把查询后的结果显示在DBGrid里?
      

  6.   

    Table/Query和Adotable/AdoQuery用法都一样的,就按(笑一笑)那位那样写就可以了。只需把AdoQuery1改成你TQuery控件的Name就行了。
    在DBGrid中显示数据需再加个DataSource控件,将其DataSet设置成Table或者Query控件,将DBgrid的DataSource属性设置成DataSource控件的Name.
    建议楼主先找本书看看~~~~!
      

  7.   

    1.可以用过滤条件,比如:
       Adoquery1.filtered:=false;
       Adoquery1.filter:=' fieldName=''001'' '
       Adoquery1.filtered:=true;  要将数据显示在DBGrid里,只需要将DBGrid的DataSource属性设置为连接到Adoquery1的数据源就可以了  建议用Ado2.Memo和DBMemo的文本属性是Caption,不是Text
      在窗体的Create事件里写Memo1.caption:='';即可