这是我生成3位随机数字并且插入到表user中的代码。我想让bianhao这个字段是唯一的,这里是否应该让生成的随即编号randm与数据库中bianhao字段里的数值相比较,相同则重新生成,不相同则直接插入。
小弟刚学ASP没几天,对IF语句不熟悉,求教各位大神前辈,应该如何写,时间紧迫,来不及从头学习了,先解决掉这里在学习吧。
<!-- #include file="conn.asp" -->
<%
randomize
randm=Int((900*rnd)+100)
IF trim(Request.form("formrand"))="1" Then
ChkRand
ChkAdminLog
End IF
%>
<%
set rs=server.createobject("adodb.recordset")
sql="select * from user where 1<>1"
rs.open sql,conn,1,3
rs.addnew()
rs("bianhao") = randm
rs.update
rs.close
set rs=nothing
response.write "<script language='javascript'>" & chr(13)
response.write "alert('添加成功!');" & Chr(13)
response.write "window.document.location.href='baoming.asp';"&Chr(13)
response.write "</script>" & Chr(13)
Response.End
%>
------解决方案--------------------
正好我前几天用过,把代码改了下给你用。我这个是4位的
,你可以自己修改位数。
<!--#include file="conn.asp"-->
<%
listcode = "0123456789abcdefghijklmnopqrstuvwxyz"
Randomize Timer
For i = 0 To 3'这里是4位随机数字,把3改为2,就是三位
rNum = Fix(9 * Rnd) '将35改为9即为使用纯数字密码
listnum = listnum & Mid(listcode, rNum + 1, 1)
Next
response.write listnum&"<br>"
set rs=server.createobject("adodb.recordset")
sql="select * from user where bianhao='"&listnum&"'"
rs.open sql,conn,3,2
if not rs.eof and not rs.bof then
response.Write"相同的数字已经存在"
response.write "<meta http-equiv=""refresh"" content=""1"">"
else
Conn.Execute("insert into user (bianhao) Values ('"& listnum &"')")
response.Write"OK"'这里你可以改成为跳转语句什么的
listnum=""
end if
%>