给表中的每一个记录赋予一个五位的证书编号sCode:
i := 0;
while not table1.eof do
begin
sCode := inttostr(i);
while Length(sCode)<5 do
sCode := '0' + sCode; // 不足5位的前面补0
showmessage(sCode); // 此处显示的都是正确的,从00000开始递增。
talbe1.edit;
table1.FieldValues['ZSBH'] := sCode;
// 然而存到数据库中的内容都是00000
table1.post;
table1.next;
end;
i := 0;
while not table1.eof do
begin
sCode := inttostr(i);
while Length(sCode)<5 do
sCode := '0' + sCode; // 不足5位的前面补0
showmessage(sCode); // 此处显示的都是正确的,从00000开始递增。
talbe1.edit;
table1.FieldValues['ZSBH'] := sCode;
// 然而存到数据库中的内容都是00000
table1.post;
table1.next;
end;
如果有记录,则查出最大的记录,再加1,你试试
showmessage(sCode); // 此处显示的都是正确的,从00000开始递增。
talbe1.edit;
table1.FieldValues['ZSBH'] := sCode;
// 然而存到数据库中的内容都是00000
==============================================================