是这样的,我有个字段是由等级规划的,例如他是‘0000100001’就是由‘00001’和‘00001’两部分组成,前面那个‘00001’是固定的,导入时,不需要写程序,而后面的‘00001’却要递增的!但是我写的程序,导入数据库之后就变成‘000011’了,有效数字应该是10位,求高手帮忙!我代码是下面这样的
var
  I,iNo:Integer;
  strNo:string;
iNo:=00001; 这个00001为什么没有起作用啊??
strNo:='00001'+IntToStr(iNo);
    inc(iNo);
 ADOQuery1.FieldByName('BTypeID').AsString:=strNo;

解决方案 »

  1.   

    IntToStr(iNo)当然就把0去掉了,应该把IntToStr(iNo)得到的数值补0
      

  2.   

    Format('%.3d',[2])=002
    Format('%.5d',[20])=00020
      

  3.   

    我用了个笨办法,是把“00001”改成“0000”,然后INO:=00001改成INO:=100001,然后就成功了,但是我还是想学习你说的补0的办法,应该怎么补呢??
      

  4.   

    我用了个笨办法,是把“00001”改成“0000”,然后INO:=00001改成INO:=100001,然后就成功了,但是我还是想学习你说的补0的办法,应该怎么补呢??
      

  5.   

    你看我改这样是不是就对了
    var 
      I,iNo:Integer; 
      strNo:string; 
    iNo:=1;  
    strNo:='00001'+Format('%.5d',[(iNo)]);
        inc(iNo); 
    ADOQuery1.FieldByName('BTypeID').AsString:=strNo;