ASP自动生成编号的方法

用过许多序号的方法,indentity 或 new id() ,都不好用,自己写了一个,这个序号的特点是:每次取相应表中的系统当天最大序号,如果当天无记录,则自动生成一个当天序号。

  1.建种子表,这个表用来保存各个表目前已使用到的最大序号

  --种子表

  create table SEED (
  BM varchar(20) not null, --表名
  BH varchar(12) not null, --种子编号
  constraint PK_SEED primary key(BM)
  )
  go
  
  2.当我们建一个新表时,同时把这个表名记录到种子表中,如:

  --向种子中表添加记录

   insert into SEED (BM,BH) values('tablename','200211070000')
  go

  3.在数据库建一存储过程,自动生成新编号,此编号取当天时间,所以许多时候查询某些天的记录时,这个序号非常有用。

  --为参数传递来的某个表自动生成编号

  if exists (select * from sysobjects where name='proc_getbh')
  drop procedure proc_getbh
  go
  create procedure proc_getbh @BM varchar(20)
  as
  declare @BH char(12)
  declare @TODAY char(8)
  begin
  select @TODAY=convert(char(8),getdate(),112)
  select @BH=BH from SEED where BM=@BM
  if @BH is null or left(@BH,8)<>@TODAY
  begin
  select @BH=@TODAY+'0000'
  end
  select @BH=left(@BH,8)+ right('0000' + ltrim(convert(char(4),convert(int,right(@BH,4)))+1),4)
  update SEED set BH=@BH where BM=@BM
  select @BH AS BH
  end

  4.实例如下:

  '对表xxx自动生成新编号

  set rs=conn.execute("proc_getbh @BM='xxx'")
  这样,rs("BH")就是你得到的新编号。

时间: 2024-11-03 01:27:12

ASP自动生成编号的方法的相关文章

自动生成编号的方法

前言:用过许多序号的方法,indentity 或 new id() ,都不好用,自己写了一个,这个序号的特点是:每次取相应表中的系统当天最大序号,如果当天无记录,则自动生成一个当天序号 1.建种子表,这个表用来保存各个表目前已使用到的最大序号--种子表create table SEED (BM varchar(20) not null, --表名BH varchar(12) not null, --种子编号constraint PK_SEED primary key(BM))go 2.当我们建一

关于我的自动生成编号的方法(来这么久,第一次写个人的编程技巧,不知能不能上精华)

编程|技巧|精华 前言:    用过许多序号的方法,indentity 或 new id() ,都不好用,自己写了一个,这个序号的特点是:每次取相应表中的系统当天最大序号,如果当天无记录,则自动生成一个当天序号 1.建种子表,这个表用来保存各个表目前已使用到的最大序号--种子表create table SEED (BM  varchar(20) not null,   --表名BH   varchar(12) not null,   --种子编号constraint PK_SEED primar

php根据数据id自动生成编号的实现方法_php实例

如下所示: <strong><span style="font-size:18px;">/*编号=年份后两位+月份+id四位数*/ $id = $this->student_model->save(0, $data); $sn = date('Y', time()); $sn = substr($sn, -2); $sn.= date('m', time()); $sn.=sprintf("%04d", $id);</spa

Word 2013中使用键入时自动套用格式功能时生成编号的方法

在Word2013文档中,用户可以借助"键入时自动套用格式"功能,在直接输入数字的时候自动生成编号.用户首先需要启用自动编号列表自动套用选项,自动生成编号的步骤如下所述: 第1步,打开Word2013文档窗口,依次单击"文件"→"选项"按钮,如图2013102901所示. 图2013102901 单击"选项"按钮 第2步,在打开的"Word选项"对话框中切换到"校对"选项卡,在"

Word2013中“键入时自动套用格式”生成编号的方法

  在Word2013文档中,用户可以借助"键入时自动套用格式"功能,在直接输入数字的时候自动生成编号.用户首先需要启用自动编号列表自动套用选项,自动生成编号的步骤如下所述: 第1步,打开Word2013文档窗口,依次单击"文件"→"选项"按钮,如图1所示. 图1 单击"选项"按钮 第2步,在打开的"Word选项"对话框中切换到"校对"选项卡,在"自动更正选项"区域单

ASP随机生成汉字的方法

ASP随机生成汉字的方法 <%Dim i     Dim j     Dim HS     Dim HE     Dim LS     Dim LE     dim Result     Result=""     HS = 177     HE = 247     LS = 161     LE = 254     dim Max_Num     Max_num=65536     Randomize       For i = 1 To 4 temp1=dec2bin(Int

SQLServer中一个多用户自动生成编号的过程

server|sqlserver|过程 SQLServer中一个多用户自动生成编号的过程 if not exists (select * from dbo.sysobjects where id = object_id(N'[IndexTable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table IndexTable(Ex char(20), num integer) go create procedure SetIndex @

asp自动生成javascript检验函数

<!--#include file="strcheck.asp"--><%'笔者在写程序的过程中要用'for i=1 to n 'Response.Write "<input type=text name=name"&n&" >"'next'但是在用javascript 中我不知道检验的名称,故想到了用ASP自动生成JavaScript代码来检验text'通过过程的调用,你就可以用循环控制的form

asp自动生成&amp;#106avascript检验函数1

函数 <!--#include file="strcheck.asp"--><%'笔者在写程序的过程中要用'for i=1 to n 'Response.Write "<input type=text name=name"&n&" >"'next'但是在用javascript 中我不知道检验的名称,故想到了用ASP自动生成JavaScript代码来检验text'通过过程的调用,你就可以用循环控制的fo