但recno属性对数据库类型有限制.paradox肯定可以.但像sybase等大型数据库都返回值为-1.用计算字段似乎确实可以,但是当dbgrid的滚动条变化时,一切又都乱了.除了加一个字段外,还没有找到好的方法.

解决方案 »

  1.   

    DataSet 本身定义了recno为-1,所以其它的Dataset的recno要看子类怎么定义了。不过我看Delphi自已的控件里好像都是用TDataLink的ActiveRecord属性去定位的。我也试过,如果是自己做控件是话还是很好用的。
      

  2.   

    to hxh81:
       你的问题解决了吗?如果没有,为什么不把贴子提前呢?
       我查了以前的几个类是的问题,最好的是再加一个字段来显示
       不知是否如此.
       各位怎么无心应答呢
        如果是高手真的不屑理睬吗?我觉得高手对此才应该更关心\负责.
      

  3.   

    这种设计是失败的,RecNo 只好本地库有意义。对于 Client/Server的数据库设计一定要用个 Key来定位一条记录。要不然,当前的记录号对应的记录随时会被其它用户新增的记录所代替。
      

  4.   

    但如果只是在查询的时候才需要添加当前记录的行号呢?
     我想添加行号也多是发生在查询的时候.
     对于于 Client/Server的数据库的数据库,应该用到的是临时表,但是如:
      insert into #table1(...) select 1,2.. from table2 
    那么,#table1中即使有id(即行号)这个字段有该如何赋值呢?必须用游标来为它赋值吗?