我在DELPHI中用了這樣一條語句,實現動態篩選,我顯示數據用的是LISTVIEW。代碼如下:
begin
  adoltr9:=TADOQuery.Create(self);
  adoltr9.Connection:=cudb01.ADOConnection1;
  ListView9.Clear;
  with adoltr9 do
  begin
    SQL.Clear;
    SQL.Add('SELECT feeder_type,feeder_name,feeder_no');
    SQL.Add('FROM supply_text');
    SQL.Add('WHERE feeder_type='+string(addedit.text)+'');//這條語句有問題提示為Invilid column name '地點''process stopped,Use step or run continue.其中'地點'是我的addedit.text的值,把那條出錯語句刪除,能顯示所有的公司數據。這到底錯在那裡。請幫忙糾正。謝謝!!!
    Open;
      .
      .
      .

解决方案 »

  1.   

    'WHERE feeder_type='+''+string(addedit.text)+''行不行?
      

  2.   

    SQL.add('SELECT feeder_type,feeder_name,feeder_no FROM supply_text WHERE feeder_type=''+string(addedit.text)+'');试试这句
      

  3.   

    sql.add('SELECT feeder_type,feeder_name,feeder_no FROM supply_text WHERE feeder_type=:add') 
          ADOQuery1.Parameters.ParamByName('add').Value :=trim(addedit.text);
    这个也可以试试
      

  4.   

    为什么要是:tring(addedit.text),为什么不是addedit.text?
      

  5.   

    SQL.Clear;
        SQL.Add('SELECT feeder_type,feeder_name,feeder_no');
        SQL.Add('FROM supply_text');
        SQL.Add('WHERE feeder_type='''+addedit.text+'''');
      

  6.   

    SQL.Clear;
        SQL.Add('SELECT feeder_type,feeder_name,feeder_no');
        SQL.Add('FROM supply_text');
        SQL.Add('WHERE feeder_type='''+addedit.text+'''');
     同意,在执行之前
    用showmessage('WHERE feeder_type='''+addedit.text+'''');看看到底是什么值 自己学会调试程序