adoquery中用查询时:  adoquery.sql.clear;
                    adoquery.sql.add('select 姓名 from 个人信息');
                   adoquery.sql.add('where 地址='+edit1.text');
                   adoquery.open;
运行时报错,说是语法错误,但看上去好象没错的,请问这个问题该如何解决????????

解决方案 »

  1.   

    应该这样:adoquery.sql.clear;
    adoquery.sql.add('select 姓名 from 个人信息');
    adoquery.sql.add('where 地址="'+edit1.text+'"');
    adoquery.open
    试一下,应该可以了
      

  2.   

    adoquery.sql.add('where 地址='+edit1.text');这一句应该是
    adoquery.sql.add('where 地址='''+edit1.text'''');
      

  3.   

    adoquery.sql.add('where 地址='+edit1.text');这一句应该是
    adoquery.sql.add(' where 地址='''+edit1.text +'''');
      

  4.   

    很明显有错啊!正确应该是:
       adoquery.sql.clear;
        adoquery.sql.add('select 姓名 from 个人信息  ');
        adoquery.sql.add('where 地址="'+edit1.text+"');
        adoquery.open;
      

  5.   

    不对,你们都错了!!!有没有搞清楚  '' 与 "  的区别?还有: adoquery.sql.add('where 地址="'+edit1.text+"');  好象是错了吧,你掉了一个单引号!!!!!!!应该是: adoquery.sql.add('where 地址="'+edit1.text+‘"');
      

  6.   

    with adoquery1 do
      begin
        SQL.Clear;
        sql.Add('select 姓名 from 个人信息');
        sql.add(' where 地址='+edit1.text);
        try
          open;
        except
          showmessage(sql.Text);
        end;
      end;
      

  7.   

    数字查询:
    adoquery.sql.add('where 地址='+edit1.text+');
    字符串查询
    adoquery.sql.add('where 地址='''+edit1.text+'''');
      

  8.   

    adoquery.sql.add('where 地址='+''''+edit1.text+'''');
      

  9.   

    修正一下忘了是字符  with adoquery1 do
      begin
        SQL.Clear;
        sql.Add('select 姓名 from 个人信息');
        sql.add(' where 地址='''+edit1.text+'''');//要这样
        try
          open;
        except
          showmessage(sql.Text);
        end;
      end;