序号是自己写的,那如果更新的话,假设需要更新的序号有1000条,我还要一条条更新啊,那不是很麻烦啊
从插入点开始向后更新
只更新一列, 并且如果控件有刷新锁定的话不会有什么速度影响怎么更新啊,具体语句写不出来,我用的CDS,读取的数据是放在缓存里面的,本身插入是用CDS,修改序号也是用CDS,两者矛盾,表格是CXGRID,数据库控件是CDS,试验了好久,没做出来

解决方案 »

  1.   

    我用clientdataset,数据是放在缓存里面的怎么做呢
      

  2.   

    在DBGrid中操作,
    1、ID值是动态的;
    2、记录当前ID值,
    3、在插入前将大于当前ID的值全部加1; 
    4、插入新值ID=ID+1
    5、重新排序
    6、将记录指向ID+1行。 
      

  3.   


    ID不变,序号给人看的,因为我想在在任何地方都能插入给人看的,可以在输出时自动生成当我们插入的时候,会自动增加ID,默认ID在最后面,即使你是在中间插入的时候,还是在最后面,就是这个问题,我希望显示的时候,在中间位置,在数据库里面的实际位置也是在中间位置
      

  4.   

    序号是DBGrid中数据的排序次序,是动态的,一般不保存其值,而是显示是,自动自动编辑。如果插入一个数据,就得重新编号。