asp客户订单号如何随机生成6位的代码

asp客户订单号怎么随机生成6位的代码请大家帮个忙,我想ASP客户生成订单能不能随机生成(只是6位)这个代码怎

asp客户订单号怎么随机生成6位的代码
请大家帮个忙,我想ASP客户生成订单能不能随机生成(只是6位)这个代码怎么写。我现在写出生成20121109001339订单号的代码(可是太长了)我想随机生成6位就行了例如290313这样的号或是7为也行。这个代码怎么写,请大哥帮帮忙。谢谢了
[解决办法]
asp流水号怎么写,小弟不会,请大哥赶紧帮帮忙
[解决办法]
6位随机的话太少了 容易重复。
如果要6位,那就不如直接用计数的方式了。用数据库自增字段。前面加0得到6位. 
s = Right("00000" & id, 6)
[解决办法]
生成一个顺序的表,然后从里边拿6位数。用过的delete
[解决办法]
好深奥的问题,菜鸟经过
[解决办法]
用121109 这个不就6位了
[解决办法]
首先 你要估算订单量大小
下面的供你参考
如果是7位订单号:0 00 0000

第1位:表示单据分类 1:订单 2:出库单 3:入库单…………(用字母开头也可以)
第2,3位:表示年份 <%=right(year(date),2)%>
最后几位流水号:按照2楼的方法做!

建一张表,用来存储当前订单最后四位。每次使用时,取出来+1就可以了。如果订单删除了,请不要-1。订单删除用逻辑删除。
年度结束以后,将存储当前订单最后四位的字段重置为0,新一年的订单号又重新开始鸟。。。。。
[解决办法]
怎么写还是不太会,有没有源码的例子。
[解决办法]
不重复的,可以这么写

<%
Randomize

OrderID = Year(Now) & Right("0"& Month(Now),2) & Right("0"& Day(Now),2) & Right("0"& Hour(Now),2) & Right("0"& Minute(Now),2) & Right("0"& Second(Now),2) Right("00000"& Round(Rnd*89999,0),5)
%>
[解决办法]
<%dim shijian,dingdan
shijian=now()
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from shopxp_action where username='"&username&"' and zhuangtai=7",conn,1,3
if request.Cookies("shopxp")("username")<>"" then
dingdan=now()
dingdan=replace(trim(dingdan),"-","")
dingdan=replace(dingdan,":","")
dingdan=replace(dingdan," ","")
else
dingdan=username
end if
do while not rs.eof
rs("zhuangtai")=1
rs("dingdan")=dingdan
rs("dingdan2")=dingdan2
rs.movenext
loop
rs.close%>
帮我看看这个代码怎么加上一个随机数字,防止在同一秒钟下订单是一样的(现在订单显示是20121112220749)
一直到秒。大家帮帮我,我不知道该在什么地方加个随机好防止订单一样了
[解决办法]
我这这个后面加了dingdan=now()&Right("00000"& Round(Rnd*89999,0),5)订单号太长了,能不能短的订单号显示是2012111222252863499,能不能断点。大家帮小弟想想。谢谢了。老板急要。
[解决办法]
随机生成?不能保证不重复!建议你用流水号!方便简单!
[解决办法]

这段代码怎么改成流水号,帮帮我

<%dim shijian,dingdan
 shijian=now()
 set rs=server.CreateObject("adodb.recordset")
 rs.open "select * from shopxp_action where username='"&username&"' and zhuangtai=7",conn,1,3
 if request.Cookies("shopxp")("username")<>"" then
 dingdan=now()
 dingdan=replace(trim(dingdan),"-","")
 dingdan=replace(dingdan,":","")
 dingdan=replace(dingdan," ","")
 else
 dingdan=username
 end if
 do while not rs.eof
 rs("zhuangtai")=1
 rs("dingdan")=dingdan
 rs("dingdan2")=dingdan2
 rs.movenext


 loop
 rs.close%>
[解决办法]
6位随机数,不保证不重复


Function gen_key(digits)
dim char_array(10)
char_array(1) = "1"
char_array(2) = "2"
char_array(3) = "3"
char_array(4) = "4"
char_array(5) = "5"
char_array(6) = "6"
char_array(7) = "7"
char_array(8) = "8"
char_array(9) = "9"
randomize
do while len(output) < digits
num = char_array(Int((9 - 1 + 1) * Rnd + 0))
output = output + num
loop
gen_key = output
End Function

strrad=gen_key(6)
response.Write(strrad)

[解决办法]
<%
Function gen_key(digits)
dim char_array(10)
char_array(1) = "1"
char_array(2) = "2"
char_array(3) = "3"
char_array(4) = "4"
char_array(5) = "5"
char_array(6) = "6"
char_array(7) = "7"
char_array(8) = "8"
char_array(9) = "9"
randomize
do while len(output) < digits
num = char_array(Int((9 - 1 + 1) * Rnd + 0))
output = output + num
loop
gen_key = output
End Function


strrad=gen_key(6)
response.Write(strrad)
%>
[解决办法]
流水号sql server下的解决方案,可以参数一下;

create table T10003 (
F0000int identity(1,1)primary key,--数据ID
F0001nvarchar(20)not null,--数据编码编码
F0002nvarchar(5),--前缀
F0003nvarchar(20),--对应的表名
F0004nvarchar(200),--描述
F0005smallint,--编码方式
F0006smallint,--编码宽度
F0007int,--起始编码
F0008int,--终止编码
F0009int,--当前编码
F0010nvarchar(20),--当前编码修改者
F0011datetime,--当前编码时间
F0012nvarchar(1000),--备注
F0013smallint--手工方式
)


ALTER PROC [dbo].[P10003](@F0001 varchar(10),@F0002 varchar(20) output) 
AS
BEGIN
Declare
 @NowNo int,
 @NextNo int,
 @MinNo int,
 @MaxNo int,
 @Method int,
 @Width int

select @NowNo=F0009, @MinNo=F0007, @MaxNo=F0008, @Method=F0005, @Width=F0006
 from T10003
 WHERE F0001 = @F0001 
if @NowNo<@MinNo or @NowNo>(@MaxNo-1)
 select @NextNo = @MinNo
else
 select @NextNo = @NowNo + 1


UPDATE T10003
 SET  F0009 = @NextNo
 WHERE F0001 = @F0001

if @Method=0
 SELECT  @F0002=F0002 + convert(varchar,F0009)
  FROM T10003
  WHERE F0001 = @F0001
else
 SELECT  @F0002= F0002 + right('000000000000000000'+convert(varchar,F0009),@Width)
  FROM T10003
  WHERE F0001 = @F0001
END