在数据库中,我通过RecordCount和recno来判断是否已经到了记录的末尾或开头,从而决定移动记录的按钮是否可用。但我发现,在使用查询功能后,dbgrid中显示的记录数已经经过了筛选,但它的记录号确还是原来的,比如,原来有5条记录,经过查询后只有2条记录,而这两条记录的记录号确仍然是原来的记录号,而不是新的1号和2号,我该怎么办?

解决方案 »

  1.   

    这不可能,你查出来后.recno会是1和2的,你再试试
      

  2.   

    呵呵,我也有这样的怪事,我在线程中打开数据库,RecordCount=1,RecNo=-1,而我尽可以正确读出数据!
      

  3.   

    使用数据库查询语句来解决.如果你使用oracle,则有rownum,如果是db2则可以使用函数
    row_number() over() (order by ...)来达到目的.
      

  4.   

    我发现,只要把query的requestlive属性设置为false即可正常显示记录号了。但问题是,如果如这个属性设置为flase,则不能够通过append等方法来增加记录(系统显示,不能对一个只读dataset进行操作)。大家看看啊,怎么办?