id号总共12位不变,8位日期+4位流水号,数据库中类型为varchar,每当增加记录时,我在程序中要对后四位流水号最大的那个进行增1操作,我是这样写的
dataset.CommandText :='select max(right(id,4)) as version from table';
dataset.Open;
getid := FormatDateTime('YYYYMMDD',now)+inttostr(dataset.fieldbyname ('version').Asinteger+1);
这样虽然可以实现增1,但是它自动把0001转化为1了,最后变成了9位,我不想让它省略前面的0,该怎么实现!
dataset.CommandText :='select max(right(id,4)) as version from table';
dataset.Open;
getid := FormatDateTime('YYYYMMDD',now)+inttostr(dataset.fieldbyname ('version').Asinteger+1);
这样虽然可以实现增1,但是它自动把0001转化为1了,最后变成了9位,我不想让它省略前面的0,该怎么实现!
StringOfChar('0',4-整数的长度);
也就是说,当1,长度为1,即在前面多加3个‘0’,
这样也可以
对这段用Format啊。