adoquery1.Close;
adoquery1.SQL.Text:='select * from shop_action where dingdan='+'edit1.text';
adoquery1.Active:=true;
adoquery1.Open;
上面的语句在调试的时候说是“列前缀edit1与查询中所用的表名或别名不匹配"
原因出在什么地方呢?

解决方案 »

  1.   

    如果dingdan是数字的话没有问题啊如果是字符串的话改为
    adoquery1.SQL.Text:='select * from shop_action where dingdan="'+'edit1.text'+ '"';
      

  2.   

    改了以后说是'列名edit1.text无效',该怎么办啊?
      

  3.   

    adoquery1.Close;
    adoquery1.SQL.Text:='select * from shop_action where dingdan=:dd:
    adoquery1.parametrs.parambyname('dd').value:=edit1.text;
    adoquery1.Open;
      

  4.   

    adoquery1.SQL.Text:='select * from shop_action where dingdan='+'edit1.text'--多加了两个''号
    adoquery1.SQL.Text:='select * from shop_action where dingdan = '+edit1.text;
      

  5.   

    adoquery1.SQL.Text:='select * from shop_action where dingdan='+''''edit1.text'''';