with query1 do
   begin
     close;
     sql.clear;
     sql.add('select distinct gcmc from ttml.dbf where dydj="+edit1.text+"');
     open;如果直接dydj="10KV"有结果,但edit1中动态给10KV却无结果!?

解决方案 »

  1.   

    'select distinct gcmc from ttml.dbf where dydj="'+edit1.text+'"'
      

  2.   

    改成这样
    sql.add('select distinct gcmc from ttml.dbf where dydj='+quotedstr(edit1.text));
      

  3.   

    sql.add('select distinct gcmc from ttml.dbf where dydj='+''''+edit1.text+'''');
      

  4.   

    改成.sqltext:='select distinct gcmc from ttml.dbf where dydj='+#39+edit1.text+#39; 也不错啊
      

  5.   

    错在最起码的字符串上…Pascal变量类型没有过关吧
      

  6.   

    用以下的方法保证对!
    query1.sql.clear
    query1.sql.add('select distinct gcmc from ttml.dbf where dydj='+#39+
    edit1.text+#39);
    query1.open;