ADOQUERY1.SQL.ADD('SELECT :aa FROM STIN');然后将AA赋值1,可查询出来的结果却是!column1
---------
1
1
1
1
1表中有一列,列名为1。我要查询此列所有内容。语句应该怎么写。谢谢

解决方案 »

  1.   

    ADOQUERY1.SQL.ADD('SELECT [1] FROM STIN');另:建议不要用纯数字做字段名
      

  2.   

    我需要动态查找这个表名的数据。有时候可能是用1,二楼的不行,查找出来的结果是column1
    -----------
    [1]
    [1]
    [1]
    [1]
      

  3.   

    加一个edit1
    输入列名
    ADOQUERY1.SQL.ADD('SELECT '''+trim(edit1.text)+''' FROM STIN');
      

  4.   

    ADOQUERY1.SQL.ADD('SELECT '+QuotedStr(trim(edit1.text))+' FROM STIN');
      

  5.   

    如果字段名是1的话,select [1] from t1结果肯定是字段的内容,2楼的没有错,
    除非你写的是select '[1]' from t1 才会得到[1]这样的结果
    如果要用文本输入可以这样写:
                'select ['+Trim(Edit1.text)+'] from T1'
    如果不要输入框的话,
               'select [1] from t1'
      

  6.   

    好奇怪哦,如果是直接写请句的话是可以的,但如果把列名作成EDIT 或ADOQUERY的值,都不行。
      

  7.   

    列名是不能这样赋值的
    这种参数只能传递字段参数值,不能传递字段名动态组合sql 语句
      

  8.   

    我不是在钻牛角,你换成其它的列名也是一样,会把那个值复制N次显示过来
    请问动态组合SQL要怎么写。?
      

  9.   

    就跟保留字一回事了,你在sql中用user这样的保留字做字段,自然得用[]动态组合其实就是连接字符串了,如果有问题就是连接不正确了注意的就是单引号中的单引号用'',也就是单引号在连接的时候是''''