with adoquery2 do
   begin
   sql.text:='SELECT pj_type FROM pj WHERE pj_name = "网卡"';
   open;
 end;
 flatcombobox1.items.clear;
 while not adoquery2.eof  do
 begin
  with flatcombobox1.items  do
  begin
    add(adoquery2.fieldbyname('pj_type').asstring);
  end;
  next;
end;
为什么总提示“网卡”找不到,无论我该单引号,还是不加引号都不行,单引号干脆就编译过不去。

解决方案 »

  1.   

    'SELECT pj_type FROM pj WHERE pj_name = ''网卡''';
      

  2.   

    with adoquery2 do
       begin
         close;
         sql.clear;
         sql.text:='SELECT pj_type FROM pj WHERE pj_name =''网卡''';
         open;
     end;
     flatcombobox1.items.clear;
     while not adoquery2.eof  do
     begin
      with flatcombobox1.items  do
      begin
        add(adoquery2.fieldbyname('pj_type').asstring);
      end;
      next;
    end;
      

  3.   

    with adoquery2 do
       begin
         close;//缺少
         sql.clear;//缺少
         sql.text:='SELECT pj_type FROM pj WHERE pj_name =''网卡''';
         open;
     end;
      

  4.   

    你主要还是这句错了
     sql.text:='SELECT pj_type FROM pj WHERE pj_name = "网卡"';
    怎么改上面已经有了,最好改成dulei115() ( ) 信誉:100 那样的
      

  5.   

    他提示“delphi7/bin/InitCC32.exe进程无法访问,因为被另一个文件使用。”
      

  6.   

    我把这一段再完整的写一下,你看对不对
    with adoquery2 do
       begin
         close;
         sql.clear;
         sql.text:='SELECT pj_type FROM pj WHERE pj_name =''网卡''';
         open;
     end;
     flatcombobox1.items.clear;
     adoquery2.first;
     while not adoquery2.eof  do
     begin
      with flatcombobox1.items  do
      begin
        add(adoquery2.fieldbyname('pj_type').asstring);
      end;
      next;
    end;
      

  7.   

    sql.text:='SELECT pj_type FROM pj WHERE pj_name = "网卡"';
    改为:sql.text:='SELECT pj_type FROM pj WHERE pj_name ='+#39+'网卡'+#39;
      

  8.   

    那說明你在內存中還有個實例沒釋放,所以,無法編繹修改完的代碼成Exe
      

  9.   

    主要错在'号的用法上,在delphi中''表示一个',就像c中\\表示一个\
      

  10.   

    with adoquery2 do
       begin
         close;//缺少
         sql.clear;//缺少
         sql.text:='SELECT pj_type FROM pj WHERE pj_name =''网卡''';
         open;
     end;
      

  11.   

    sql.text:='SELECT pj_type FROM pj WHERE pj_name = "网卡"';应该写成
    sql.text:='SELECT pj_type FROM pj WHERE pj_name = ''网卡''';
      

  12.   

    你被那些垃圾书籍误导了。书上说的双引号是错的。 本来指的是两个单引号。
    'select * from db where name=''abc''   ' ===================================================================                           ... 我疯了..... ===================================================================
      

  13.   

    或者,你用参数传递要寻找的字段内容,如:with adoquery2 do
       begin
       close;
       sql.clear;
       sql.text:='SELECT pj_type FROM pj WHERE pj_name = :1';
       parameters.parambyname('1').value := '网卡';
       open;
     end;
     flatcombobox1.items.clear;
     while not adoquery2.eof  do
     begin
      with flatcombobox1.items  do
      begin
        add(adoquery2.fieldbyname('pj_type').asstring);
      end;
      next;
    end;
      

  14.   

    with adoquery2 do
       begin
         close;
         sql.clear;
         sql.text:='SELECT pj_type FROM pj WHERE pj_name ='+''''+'网卡'+'''';
         open;
     end;
    四个''''产生一个',简单明了。嘻嘻!
      

  15.   

    用#39或''''来表示一个'
    看楼主少了CLOSE
    和SQL。CLEAR看来楼主还得好好学学SQL
      

  16.   

    with AdoQuery2 do
    begin
       Close;
       SQL.Clear;
       SQL.Add('select pj_type from pj where pj_name = ''网卡''');
       Open;
       FlatComboBox1.Items.Clear;
       while not eof do
       begin
         FlatComboBox1.Items.Add(FieldByName('pj_type').AsString);
         Next;
       end;
    end;
    我的才是标准带码,拷贝过去用吧,至于哪里有错,你自己对比着看吧!唉!现在的年轻人。
      

  17.   

    sql.text:='SELECT pj_type FROM pj WHERE pj_name ='+QuotedStr('网卡');
      

  18.   

    with adoquery2 do
       begin
         close;
         sql.clear;
         //sql.text:='SELECT pj_type FROM pj WHERE pj_name =''网卡''';
         sql.add('SELECT pj_type FROM pj WHERE pj_name =:wk);
         parameters.ParamByName('wk').Value:='网卡';
         open;
     end;
     flatcombobox1.items.clear;
     adoquery2.first;
     while not adoquery2.eof  do
     begin
      with flatcombobox1.items  do
      begin
        add(adoquery2.fieldbyname('pj_type').asstring);
      end;
      next;
    end;
      

  19.   

    sql.text:='SELECT pj_type FROM pj WHERE pj_name = ''网卡''';