procedure TForm1.BitBtn1Click(Sender: TObject);
   var na:string;
begin      na:=edit1.Text;
      showmessage(na);
      with adoquery1 do
      begin
      close;
      sql.Clear;
      sql.Add('select gukeID as 顾客ID,name as 姓名 ,');
      sql.add('where name=na');
      open;
      end;
end;
EDIT1里面输入人名,可以正常显示在对话框里,但执行查讯到查讯时就提示na没有默认值!
刚用DELPHI7见笑!

解决方案 »

  1.   

    'select gukeID as 顾客ID,name as 姓名 ,' 后怎么没有跟FROM TABLENAME'where name=''' + na''''   这句改成这样!
      

  2.   

    用参数
    close;
    sql.Clear;
    sql.Add('select gukeID as 顾客ID,name as 姓名 FROM TABLE');
    sql.add(' where name=:na');
    Parameters.ParamByName('na').Value := edit1.text;
      

  3.   

    你把你的sql改成
    'select gukeID as 顾客ID,name as 姓名 from 表名 where where name='''+ na + ''''
    要不就像楼上的那样用参数;
      

  4.   

    谢谢大家的帮助!问题解决了,程序里本来是有“FROM TABLE”的,我发帖的时候弄掉了,不好意思!