select substring([name],11,6) as subname  from sysobjects where [name] like 'SysLogfile%' and OBJECTPROPERTY(id, N'IsUserTable') = 1
我使用上面的语句从数据库中查询出的数据,在用查询分析器中能正常得到结果,但我在使用Fieldbyname('subname').AsString从数据集(TQuery)中查找subname字段的数据时,就报错,提示
Filed subname not found,把这条改成Fileds[0].AsString则报Index (0) out of Bounds
我在程序中改用先把查询的结果用select into到一个临时表(##的)中时,能查询出结果,但在程序中使用Fieldbyname('subname').AsString这些时就又报找不到subname这个字段.
高手帮忙看看是为什么啊?我是用bde连接的数据库

解决方案 »

  1.   

    open了没有??
    如果open了看看recordcount
      

  2.   

    一定open了啊,eof返回的也是false,就是不知道为什么会这样.郁闷的啊,没碰上过这样的怪事
      

  3.   

    FieldCount,RecordCount都看看,不行贴代码出来
      

  4.   

    把subname这个字段名改个其他的看看,不会跟系统字段冲突吧.
      

  5.   

    应该不是,我原来也改成subnamedate也不行
      

  6.   

    filedcount=0,recordcount=17
    晕了
      

  7.   

    把substring([name],11,6)直接改成name试试呢?
      

  8.   

    用一个DBGrid来显示你查询的结果, 看看有什么鬼
      

  9.   

    SELECT SUBSTRING(name, 11, 6) AS subname
    FROM master.dbo.sysobjects
    WHERE (name LIKE 'SysLogfile%') AND (OBJECTPROPERTY(id, N'IsUserTable') = 1)