标题:請教!ASP怎么写流水号?
只看楼主
ldzlh
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2005-12-26
 问题点数:0 回复次数:18 
請教!ASP怎么写流水号?

如自动生成一个流水号码,~

根本日期,~年月日 然后加上一个四位的随机数,最前加個區別碼(比方說A)

舉個例:A 2005 12 27 0001

誰能告訴我相應人代碼嗎?謝謝了!

[此贴子已经被作者于2005-12-27 10:30:04编辑过]

搜索更多相关主题的帖子: 流水号 ASP 随机数 年月日 号码 
2005-12-27 10:28
conn
Rank: 2
等 级:新手上路
威 望:5
帖 子:420
专家分:0
注 册:2005-11-27
得分:0 
用VBS取出年月日就不用说了吧
你这的一个四位随机数应该是顺序下去的吧?比如你例子下面的号应该为 A 2005 12 27 0002吧。这个还不是偶能力之内的,呵呵。得请教我们斑竹大哥了。

我是新手,但我很虚心,对我发的问题请不要取笑,谢谢
2005-12-27 10:38
ldzlh
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2005-12-26
得分:0 

對啊,就這樣一個問題!請問版竹大哥有在嗎?出來幫幫小弟忙啊?


2005-12-27 10:40
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
得分:0 
在系统的某个表中保存 最后生成的编号

一开始是0001,下次变成0002

当日期越过一天的时候又从0001开始。。。

天津网站建设 http://www./
2005-12-27 11:01
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8074
专家分:6657
注 册:2005-11-7
得分:0 
asp中取时间是 变量=now() ,日期的形式是 yyyy-mm-dd hh:mm:ss,然后
变量=replace(变量, "-", " ")
变量=replace(变量, ":", " ")
就可以了。 至于0001,不知道你想用什么算法,我认为应该是递增的,但是流水号用时间就已经能保证没有重复了

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2005-12-27 11:01
ldzlh
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2005-12-26
得分:0 
以下是引用griefforyou在2005-12-27 11:01:00的发言:
在系统的某个表中保存 最后生成的编号

一开始是0001,下次变成0002

当日期越过一天的时候又从0001开始。。。

正如這個所說的,我正要的是這種效果!


2005-12-27 11:11
ldzlh
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2005-12-26
得分:0 

<%
ranNum=int(99*rnd)+100
iddata="A"&year(now)&month(now)&day(now)&ranNum
%>
然后調用 iddata 得到的數字是隨機的,要怎么改才能使從 A 2005 12 27 001 開始?
幫我想想辦法?謝謝大家了!

[此贴子已经被作者于2005-12-27 11:41:08编辑过]


2005-12-27 11:18
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8074
专家分:6657
注 册:2005-11-7
得分:0 
在数据库中查你的上一条记录,即安编号排序中最大的,取日这个位置的值,并和今天的日期比较,不一样就从0001开始

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2005-12-27 12:10
nic
Rank: 2
等 级:新手上路
威 望:4
帖 子:175
专家分:0
注 册:2005-11-1
得分:0 

我认为后面的序号可以用一个变量来完成。

sub button1_click(sender as object,e as eventargs)
dim n as integer:dim str1,str2 as string
str1="":str2=""

if n="" then

n=1001

else

n+=1
end if
str1=right(cstr(n),len(cstr(n)-1)
str2="A" & year(now) & month(now) & day(now) & str1
end sub

str2 就是所要的编码,后面的序号就是001,002,003....

如果怕屏幕 关掉失去变量,也可以用APPLICATION来完成变量,或者用数据库了。


2005-12-27 12:42
阳光白雪
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:39
帖 子:2220
专家分:0
注 册:2005-11-18
得分:0 

读取系统时间编制成前八位编号:

stra=trim(year(date()))&trim(String(2-len(right(month(date()),2)), "0")&right(month(date()),2))&trim(String(2-len(right(day(date()),2)), "0")&right(day(date()),2))

再查询数据库中是否有前八位与上面编号相同的,

rs.Open "select * from [tablename] where left([fieldname],6)='"&stra&"' order by [fieldname] desc",conn,1,3
如果没有记录,即rs.recordcount=0,则后四位为intstr="0001",否则用

intstr=right(rs("[fieldname]"),4)
intstr=cint(intstr)+1

上面这一步先要找出最大的值,也是用先个他转换成INT型来进行比较获得的,

最后根据intstr的位数在前面补上0,intstr是一位则补三个0,依次类推,让intstr够四位!

最后得到的编号就是 IDNO=stra&intstr

[此贴子已经被作者于2005-12-27 13:34:26编辑过]


专注于WEB前端交互平台开发:[url=http://blog./]blog.[/url](富客户端技术(RIA)交流平台)
2005-12-27 13:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-40153-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054643 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved