我想对下列一个表检索物品名
物品名,地点
用户输入的可能是一个地点,也可能是几个地点,而地点的所以值可以从另外一个表中得到,象这样的要求,我该用什么控件让用户输入比较合适,而对表查询的sql语句如何写呢?谢谢!!

解决方案 »

  1.   

    SELECT object from yourtable where adress='a' 
    +string1+string2+....
    string1:=' or address= ad ';
    string2:=' OR ...';
      

  2.   

    ListView或TreeView组件;得到ListView/TreeView的值,使用动态查询。如:
    adoquery.sql.add('select 地点 from 地点表 where 地点=:Value');
    adoquery.parameters('Value').asstring:=Listview1.ItemFocused.Caption
      

  3.   

    'select 物品名 Form Table Where' & Addr1 & Addr2 & .....
    addr1=' or Address=地点1'
    addr2=........
    ...
      

  4.   

    1.你可以制作一个过程
      procedure GetProductInfo(Name:string)
      begin
        with  adoquery1 do
        begin
          close;
          sql.clear;
          sql.add('select * from yourdatabaseName');  
          try
            sql.add('where productName='''+name+''' or AddressName='''+name+''''); 
          except
            Messagebox('your information');
          end;
        end;
      end;
    2.控建使用一般的Edit就可以
      

  5.   

    获得地点的信息,可以放到一个 ListView 中,然后将 ListView 的 CheckBox 显示出来,
    查询的时候使用 Select * from Info where Address in (:ADDR)
    :ADDR 的值就是选择的地点。
      

  6.   

    怎么判断listview的每个item里的CheckBox是否被选中呢?如果我选中多个的话,是否用一个属性就会传回多个值?