如何实现固定长度的自动编号?

时间:2010-06-03 10:08:00 

因客户需求,要把数据库里的索引编号做成五位长度的,且能自动累加编号,我只会在SQL中使用Identity自动编号:
Create Table TestIdent
(
IDCol Int Identity (初始值, 增加值)
)
    如指定 Idenetity (5, 5),就会得5、10、15、20……什么的,可要在编号前面补零得到一个形如00025样的东西,我感到为难,请问应该怎样做呢,还是用Identity吗?

Identity是做不到的。我们先借SQL 內建的 Pubs一用,权当客户的数据库,引用下列代码,IDCol 是客户需要的编号长度,TextCol 偷梁换柱:
 Create Table TextIdent
(
  IDCol Char(5),
  TextCol Varchar(64)
)
    接着看我们的处理方法!在ASP中,调用SQL 的 Round函数,将文字类型位数转换成数字就可以了,是不是很巧妙?
<%
ConnStr = "Provider=SQLOLEDB;" _
  & "Data Source=服务器路径;" _
  & "Initial Catalog=Pubs;" _
  & "User Id=sa;" _
  & "Password=口令"
Set oConn = Server.CreateObject("Adodb.Connection")
oConn.Open ConnStr
sSQL = "select top 1 round(IDCol, 0) as IDX from TextIdent " _
  & "order by round(IDCol, 0) desc"
Set oRs = oConn.Execute(sSQL)
 
If oRs.EOF Then
  IDX = 1
Else
  IDX = oRs("IDX") + 1
End If
IDX = Right((IDX + 100000), 5)
sSQL = "insert into TextIdent (IDCol, TextCol) values " _
  & "('" & IDX & "','test_" & IDX & "')"
oConn.Execute(sSQL)
%>

标签:自动编号,sql
0
投稿

猜你喜欢

  • asp显示左边的n个字符自动识别汉字的函数

    2007-09-13 12:16:00
  • ASP编写计数器的优化方法

    2009-01-21 19:46:00
  • CSS自适应宽度圆角按钮

    2007-11-20 11:38:00
  • 如何列举Error的所有对象?

    2010-01-12 20:01:00
  • Asp 防止网页频繁刷新一法

    2008-04-07 13:03:00
  • 区别div和span、relative和absolute、display和visibility

    2009-12-13 12:18:00
  • asp函数收藏

    2009-04-21 13:10:00
  • asp加载access数据库并生成XML文件范例

    2008-07-22 12:41:00
  • IE7下 filter:Alpha(opacity=xx) 的小问题

    2008-12-02 16:24:00
  • block 和 inline 答案揭晓~ 另付一则,关于 word-break

    2009-12-08 13:06:00
  • XML简易教程之二

    2008-09-05 17:19:00
  • MS SQL7.0的数据迁移到MySQL上的一种方法

    2008-11-01 16:59:00
  • asp的command对象的使用

    2008-06-23 13:03:00
  • OpenSearch 初探

    2008-06-19 12:06:00
  • photoshop快捷键大全及使用技巧

    2007-10-26 07:40:00
  • 关于select元素的两个小问题

    2008-12-25 13:41:00
  • 有效LOGO设计的最重要的提示

    2010-06-09 12:05:00
  • IE下中英文字体不能对齐原因及解决

    2008-08-11 12:47:00
  • JScript RuntimeObject检测全局污染

    2010-09-13 12:26:00
  • HTML 5 Video概述

    2010-06-23 18:56:00
  • asp之家 网络编程 m.aspxhome.com