orcle9i数据库1. 数据库重装以后出现了一个奇怪的问题,所有涉及distinct的SQL语句第一个字段都取不到
如sql = "select distinct(a),b,c,d from table"
取到的列是b,c,d,而a无法取到不知道各位有没有遇到过,该如何解决2.而且ASP在连接数据库时必须得刷新两下才可以连接上,否则提示
ADODB.Connection 错误 '800a0bb9' 
参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。重装数据库前可以运行

解决方案 »

  1.   

    注:
    1 在sqlplus中执行的SQL是显示正确的列数,可是一到WEB(ASP写的)里犯是涉及distinct都少一列.
      

  2.   

    select distinct(a) as a,b,c,d from table;
    字段名问题。
      

  3.   

    select distinct(substr(name,1,8)),caption,type,inputorder from table1
    原SQL
      

  4.   

    你在程序里试验一下,看看可以否。
    select distinct(substr(name,1,8)) as name,caption,type,inputorder from table1 你的distinct用的比较怪。
      

  5.   

    就是,字段distinct(a)你用a取,不行的
    第二个 是不是你刚进页面就有db连接,而且一直占用,或者干脆就异常了。
           如果没有,把连接数改大点看看
      

  6.   

    原程序
            DIM SQL1   
            SQL1 = "SELECT distinct(substr(name,1,8)) as name,caption,type,INPUTORDER from table11 where Name like 'A122%' and type <> 1 ORDER BY INPUTORDER"
            'RESPONSE.Write(SQL1)
            SET RS1 = SERVER.CreateObject("ADODB.RECORDSET")
            RS1.OPEN SQL1,CONN,1,1
            for i = 0 to rs1.fields.count-1
             response.write(rs1.fields(i).name&",")'此处只取出了后三列
            next
            %>
      

  7.   

    在前面补个空列试验一下,
    Oracle不可能出现你说的问题。
    应该多考虑程序疑点。 SQL1 = "SELECT null as null_column, distinct(substr(name,1,8)) as name,caption,type,INPUTORDER from table11 where Name like 'A122%' and type  
      

  8.   

    没有用过asp,不过从这里可以看出来,如果fields(1)是null的话,null.name肯定就空指针出错了,
    没有空指针错,那么fields(i)就引用了什么,只是fields(i).name中没有值.
    没用过asp的,不知道fields(i)name是什么,字段名还是字段值啊在oracle中,这个肯定可以取出来,估计问题是在程序里面;去asp的区问问吧
      

  9.   

    fields(i).name取得是字段的名称如果将sql中的distinct去掉的话,取出的数据是正确的,而且也能显示出来
    加上后在sql plus中以出的是四列,可是使用asp读的时候成了后面的三列了
      

  10.   

    不是取到的空,就是没有
    rs1.fields(0).name 是caption,而不是name
      

  11.   

    没有遇到过,在sqlplus里面执行可以证明sql没问题,还是在你的程序里面查错吧,不懂asp
      

  12.   

    distinct 不是这种用法吧。
      

  13.   

    sql语句没什么问题  你肯定哪没设置好
      

  14.   

    distinct这样用对么?distinct这样用跟没用没什么区别吧!!!