RecNo 返回当前的记录号,空表在post之前是应该没有正确值的

解决方案 »

  1.   

    你是不是想在每一条记录都加上一个序号啊,如果是的话可以这样解决。
    设一个变量i,在TADOQuery的Open事件中初始化i:=1;
    再在TADOQuery的计算事件中写如下代码,
    ADOQuery1.FieldByName('计算字段'').AsInteger := i;
    Inc(i);
      

  2.   

    : xBai21(小新) :是ACESS表,已经有记录了。我查询出来第一条是-1,第二条2,其它都正确的。是显示在表格中时是-1,显示在其它控件中好象不会的。
      

  3.   

    如果是autoinc 字段 似乎不会出这样的错误
    如果是普通计算字段 似乎又象个BUG 解决方法是当表是空的时候(in table.empty=true)
    采用直接写库的方式 ...很多时候 recno都不是很准确的
      

  4.   

    是普通计算字段 ,在表格中就是:
    序号
    -1
    2
    3
    4
    5
    这样下来的,查出来的也不是空;
    prometheusphinx(白日梦)的办法好象不行,这样排下来的也不准确:
    序号
    5
    6
    7
    居然是从5开始排的,我是在beforeopen事件中把i:=1的。 
      

  5.   

    可惜,我在用QUERY加paradox时倒是准确的。
    有什么办法可能把查出来的记录加个序号?1,2,3,4.....
      

  6.   

    有什么可以去掉integer型中的+、-号的方法不?
      

  7.   

    RECNO为负值 只是说 这个取得记录号的操作是错误的,好象没有别的原因
      

  8.   

    设一个变量i,在TADOQuery的Open事件或是afteropen事件中初始化i:=0都可以;
    再在TADOQuery的计算事件中写如下代码,
    ADOQuery1['计算字段':= i;
    Inc(i); 
    这样就行了,我试过。