With QueryZYC Do  //QueryZYC 为AdoQuery控件
    Begin
      Close;
      sql.Add('select  CharName,CharUnit,CharP from UnDrug_Code');
      sql.Add('where pym="'+editfind.Text+'"'); //pym为UnDrug_Code表
                         //中的一个字段
      Open;    End;
当运行此行码时,编译问错“pym列值不效”,但同样的查寻在SqlServer数据库却好
使,请大家指点,这几行代码错在哪,我是DELPHI初学者

解决方案 »

  1.   

    sql.Add('select  CharName,CharUnit,CharP from UnDrug_Code ');
          sql.Add('where pym='+''''+editfind.Text+''''); //pym为UnDrug_Code表
      

  2.   

    1.
    表名和where之间要有空格
    2.
    sql.Add('where pym="'+editfind.Text+'"');
    要将双引号民改为两个单引号
    3。
    确定UnDrug_Code表中有pym这个字段
      

  3.   

    哦,我知道了,是这样的。sql.Add('select  pym,CharName,CharUnit,CharP from UnDrug_Code ');
          sql.Add('where pym='+''''+editfind.Text+''''); //pym为UnDrug_Code表一定要把pym加上
      

  4.   

    With QueryZYC Do  
    Begin
          Close;
          sql.Add('select  CharName,CharUnit,CharP from UnDrug_Code');
          sql.Add(' where pym=:aaa'); 
          parameters.paramByName('aaa').value:=editfind.Text;
       Open;
    End;
    用参数来实现试试
      

  5.   

    ADOQuery1.Close;
        adoquery1.SQL.Clear;
        adoquery1.SQL.Add('select * from 表 where 字段名称='+''''+Edit1.Text+'''');
        adoquery1.open;
      

  6.   

    喜欢加三个单引号的朋友,试试Quotstr这个函数,可以让你的代码可读性更强