sql循环生成id和delphi生成最大编号

来源:互联网 发布:linux工程师 编辑:程序博客网 时间:2024/06/03 20:43

一句SQL语句,循环生成spid(spid='SPZ'+字符'0'+最大编号字符值 组成的char(11)数据):

declare @recnum int
set @recnum=0
update spzl_ds set spid='SPZ000'+replicate('0',5-len(@recnum))+cast (@recnum as varchar

(5)),@recnum=@recnum+1

/*

实际上这个update语句是一个@recnum 的循环语句:

循环变量是@recnum,每更新一条记录@recnum 自增1,更新完整个spzl表后退出循环。

*/

 

生成最大编号的delphi语句:

var

    maxnum : Integer;

begin

  ADOQuery2.Close;
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Add('select max(编号)as 最大编号 from 读者信息');
  ADOQuery2.Open;
  maxnum := (ADOQuery2.FieldByName('最大编号').AsInteger)+1;
  DBEdit2.Text := copy('0000',1,4-length(IntToStr(maxnum)))+inttostr(maxnum);

end;

原创粉丝点击