1、编号会在服务端赋值,所以在AppendRecord中随便给一个值就行了,比如0;
2、解决这个问题有最好的办法是:
在服务端去掉自动赋值(比如删掉触发器),在前端插入记录时,用Query查询当前最大编号,然后加1赋给新记录。
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————
       

解决方案 »

  1.   

    1。不用appendRecord,用insert into tablename VALUES('',:name)
    Parameters.ParamByName('姓名').Value :='abc'
    Prepared;
    ExecSQL;
    2.空了就不管了,不显示就可以了!
    3. 用
      

  2.   

    3.我向来很少用标识,可以创建触发器或存储过程自动累加,比如
    Declare @id int
    Select @id = MAX(id) From table Where 条件
    Select @id = @id+1
    如果id不是整型,可以转换后自动累加
      

  3.   

    自动编号在数据库中用的很多,为了防止编号(也就是唯一id的重复),系统一般在删除之后是不会在补上id的,不管不用append还是insert都不会补上的,如果你非要显示一个连续的数据,只在在建立一个字段传用于此。
       在增加数据时,不用管自动编号,系统会帮你加入数据,这个数据是用来作他的唯一号的,中间差一个也无防,主要是保证唯一号。我常用这个,这样会绝对保证数据库记录的唯一。
      

  4.   

    那如果PK是integer的,那自动不断的加不会溢出吗?总有溢出的呀真心请教,谢谢
      

  5.   

    回答三问题
    1,不需要对IDENTITY字段赋值,只要对其他列给值
    2,删除一行后,确实空一号
    3,查询方便,经常要用到