我的数据库是access。要怎么才能生成随机id呢,asp 以下是代码,求救啊 。。。

Dimssrandomizetimerss=Left(Int((99999)*Rnd+10000),4)。。。dimsidddFunctionSID_RANDOMIZE(... Dim ss
randomize timer
ss=Left(Int((99999)*Rnd +10000),4)



dim siddd
Function SID_RANDOMIZE()
Dim c,id
randomize
c="a,A,1,b,B,2,c,C,3,d,D,4,e,E,5,f,F,6,g,G,7,h,H,8,i,I,9,j,J,0,k,K,1,l,L,2,m,M,3,n,N,4,o,O,5,p,P,6,q,Q,7,r,R,8,s,S,9,t,T,0,u,v,w,x,y,z,"
id=split(c,",")
for i=1 to 10
SID_RANDOMIZE=int(rnd()*36)&SID_RANDOMIZE
Next
SID_RANDOMIZE=SID_RANDOMIZE&minute(now)&second(now)&day(now)&month(now)
End Function
siddd=md5(md5(sjhm+SID_RANDOMIZE,16),32)
set rs=Server.CreateObject("ADODB.Recordset")
rs.open"select sjhm,mm,answer,sex,name,myip,email,regtime,zcfs,listnum,viewnum,review,relistnum,about,datainfo,ttvv from [Users]",conn,1,2
rs.addnew
rs("sjhm")=sjhm
rs("mm")=pass
rs("answer")=aqm
rs("sex")=sex
rs("name")=username
rs("myip")=zcip
if email<>"" then rs("email")=email
rs("regtime")=now()
rs("zcfs")="手工注册"
rs("listnum")=8
rs("viewnum")=500
rs("review")=3
rs("relistnum")=8
rs("about")=""®gxjs&""
rs("datainfo")=""®gxqm&""
rs("ttvv")=1
rs.update
rs.close
set rs=nothing
dim clicksendid
set rs=Server.CreateObject("ADODB.Recordset")
rs.open"select top 1 id from [Users] order by id desc",conn,1,1
sid=rs("id")&"_"&siddd
clicksendid=rs("id")
conn.Execute("update Users set sid='"&sid&"' Where id="&rs("id"))
response.write"注册成功,您的ID:"&rs("id")
现在数据库是递增生成ID
要加上什么才可以随机呢
展开
 我来答
wzpsfather
2012-05-28 · TA获得超过559个赞
知道小有建树答主
回答量:765
采纳率:33%
帮助的人:382万
展开全部
你对数据库还不了解呀!随机ID是不用编写程序实现的!
在ACCESS数据库表建立的时候,你可以将ID列设置为自动编号类型,就可以生成随机ID了。
追问
可是随机出来的都是10位的。而且还有负数。。。
冷三叔
2012-05-28 · TA获得超过276个赞
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:41万
展开全部
代码就不写了,给你个思路..
在数据库中新增一个字符类型的字段,字段命名为:rndID,使用函数 GetRnd(rndIDlen) 获取随机的ID,获取后再再数据库中检测是否存在该随机ID,如果存在,则继续获取,如果不存在则写入数据库,并开始执行其他的代码
函数 GetRnd(rndIDlen) 的全部代码如下:
<%
Function GetRnd(rndIDlen)
Dim Ran,i,strRnd
strRnd=""
For i=1 To rndIDlen
Randomize
Ran = CInt(Rnd * 2)
Randomize
If Ran = 0 Then
Ran = CInt(Rnd * 25) + 97
strRnd =strRnd & UCase(Chr(Ran))
ElseIf Ran = 1 Then
Ran = CInt(Rnd * 9)
strRnd = strRnd & Ran
ElseIf Ran = 2 Then
Ran = CInt(Rnd * 25) + 97
strRnd =strRnd & Chr(Ran)
End If
Next
GetRnd=strRnd
End Function
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whoAmI13
2012-05-30 · TA获得超过5833个赞
知道大有可为答主
回答量:2365
采纳率:50%
帮助的人:2236万
展开全部
嗯。1楼正解。把自动编号的递增改为随机就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式