adodataset2.CommandText:='select ''aa'' as hirename1,* from wanthireinfo';
adodataset2.OPEN;该SQL语句在ACCESS里的SQL查询中通过,可是DELPHI里死活都报 ‘未知错误’!!!
如果直接'select * from wanthireinfo则没问题,就这么简单!!气煞老夫了!

解决方案 »

  1.   

    adodataset2.CommandText:='select '+''''aa''''+' as hirename1,* from wanthireinfo';
      

  2.   

    ''aa''是字段名吗,'号在delphi中得用''''个代替或用#39
      

  3.   

    access里能通过,在ADO里面就不一定能通过。
    反过来也是成立的。
      

  4.   

    你aa是包含字段名的变量还是字段本身
    如果是字段名本身
    adodataset2.commandtext:='select aa as hirenamel,* from wanthireinfo where wanthireinof';
    如果是字段变量则
    adodataset2.commandtext:='select  '+aa+'  as hirenamel,* from wanthireinfo';
      

  5.   

    唉,误导,不过我知道错误了,考考大家,谁能发现错误分全给他,哈哈,看好了:
    select iif(beginPrince=0,endPrince,BeginPrince) as Prince,iif(beginrows=0,endbeginrows,beginrows) as rows ,* from t1
      

  6.   

    另外补充:上述有错误的SQL语句在ACCESS里的SQL查询通过,但就是在DELPHI里不能通过。花了我3个小时才找到原因,太恶心了!
      

  7.   

    上面应改为
    adodataset2.CommandText:='select aa as hirename1,* from wanthireinfo';
    aa加单引号变成了值,aa 本身应是字段变量
      

  8.   

    IORILI(眼镜@_@) 说的不错 楼上也说到点儿上了
      

  9.   

    也可以这么写:
    SELECT aa as hirename1,(SELECT * FROM wanthireinfo) FROM wanthireinfo
    不过慢了点:)
      

  10.   

    哈哈,各位慢点,是我误导大家了,对不起!!考考大家,谁能发现错误分全给他,哈哈,看好了:select iif(beginPrince=0,endPrince,beginPrince) as Prince,iif(beginrows=0,endrows,beginrows) as rows ,* from t1上述有错误的SQL语句在ACCESS里的SQL查询通过,但就是在DELPHI里不能通过。
      

  11.   

    至于'select ''aa'' as hirename1,* from wanthireinfo'是正确的,增加一个常量字段hirename1值为字符'aa'
      

  12.   

    首先delphi重视没有iff函数的,
    上述语句可拆分成:
    var a,b as string
    begin
    if beginprince=0 then
      a :=endprince
      else 
        a:=beginprince;
    if beginrows=0 then
     b:=endrows 
      else
       b:=beginrows
     select a as prince,b as rows,* from tl
    end;
      

  13.   

    好了,大家可能很少在DELPHI下做ACCESS程序,我也是第一次,吃尽苦头。
    TO LORILI:IIF是数据库解释的SQL语句,在这里只是个字符,怎么不能用呢?所不同的是ACCESS用IIF,SQLSERVER用CASEselect iif(beginPrince=0,endPrince,beginPrince) as Prince,iif(beginrows=0,endrows,beginrows) as rows ,* from t1这个语句错误主要是不能as rows,应该as rows_1,不知道ROWS触犯到DELPHI的哪个神经,在解释的时候就报错了。谢谢大家讨论。