mfwebteam
asked on
How to generate a random number (13 digits) between 9999999999999 - 0000000000001
Hello,
I am trying to generate a random number and I am sucessful doing that:
Randomize
strOrderNo = INT((9999999999999 - 0000000000001 + 1) * RND + 0000000000001)
Then update the database with this number plus other options for example depending on what I passed and evently when the click the link I would check the querystring to update the database for each click they do or tell them it is expired:
Function Randomize(Clicks,ExpireDat e,ExpireTi me)
Dim sql
If bGoodToGo = True Then
sql = "insert into NewTravelRequest" &_
"(ID,Number,Clicks,ExpireD ate,Expire Time)" &_
"values(" & ID & ", '" & Number & "', '" & Clicks & "', '" & ExpireDate & "', '" ExpireTime & "')"
Else
Do Until bGoodToGo
Randomize
strOrderNo = INT((9999999999999 - 0000000000001 + 1) * RND + 0000000000001)
'strOrderNo = "8888888888888"
bGoodToGo = False
If Len(strOrderNo) = 13 Then
' we have a 13 char string so now test DB that this 13 char Key is unique
Response.Write "We have 13 chars<br>" & VBCRLF
' TODO: Do DB test here
sql = "SELECT * FROM DownloadID"
oRS.Open sql, oConn, 3, 3
Do until oRS.EOF
strDBNo = Trim(oRS("Number"))
Response.Write "Database Numbers: " & strDBNo & "<br>" & VBCRLF
If strDBNo <> strOrderNo Then
bGoodToGo = True
Response.Write "Number doesn't exist<br>" & VBCRLF
Else
' was already used so
bGoodToGo = False
Response.Write "Number does exist<br>" & VBCRLF
Exit Do
End If
oRS.MoveNext
Loop
End If
loop
End If
End Function
I am trying to generate a random number and I am sucessful doing that:
Randomize
strOrderNo = INT((9999999999999 - 0000000000001 + 1) * RND + 0000000000001)
Then update the database with this number plus other options for example depending on what I passed and evently when the click the link I would check the querystring to update the database for each click they do or tell them it is expired:
Function Randomize(Clicks,ExpireDat
Dim sql
If bGoodToGo = True Then
sql = "insert into NewTravelRequest" &_
"(ID,Number,Clicks,ExpireD
"values(" & ID & ", '" & Number & "', '" & Clicks & "', '" & ExpireDate & "', '" ExpireTime & "')"
Else
Do Until bGoodToGo
Randomize
strOrderNo = INT((9999999999999 - 0000000000001 + 1) * RND + 0000000000001)
'strOrderNo = "8888888888888"
bGoodToGo = False
If Len(strOrderNo) = 13 Then
' we have a 13 char string so now test DB that this 13 char Key is unique
Response.Write "We have 13 chars<br>" & VBCRLF
' TODO: Do DB test here
sql = "SELECT * FROM DownloadID"
oRS.Open sql, oConn, 3, 3
Do until oRS.EOF
strDBNo = Trim(oRS("Number"))
Response.Write "Database Numbers: " & strDBNo & "<br>" & VBCRLF
If strDBNo <> strOrderNo Then
bGoodToGo = True
Response.Write "Number doesn't exist<br>" & VBCRLF
Else
' was already used so
bGoodToGo = False
Response.Write "Number does exist<br>" & VBCRLF
Exit Do
End If
oRS.MoveNext
Loop
End If
loop
End If
End Function
...and the problem is?
The easiest way for a truly random mix (including upper/lower characters) how about:
<% Option Explicit %>
<%
Response.Write RandomPW(13) & "<br>" & vbCrLf
Function RandomPW(myLength)
Dim X, Y, strPW
If myLength = 0 Then
Randomize
myLength = Int((10 * Rnd) + 10)
End If
For X = 1 To myLength
'Randomize the type of this character
Y = Int((3 * Rnd) + 1)
Select Case Y
Case 1'Numeric character
Randomize
strPW = strPW & CHR(Int((9 * Rnd) + 48))
Case 2
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 65))
Case 3
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 97))
End Select
Next
RandomPW = strPW
End Function
%>
Neil
<% Option Explicit %>
<%
Response.Write RandomPW(13) & "<br>" & vbCrLf
Function RandomPW(myLength)
Dim X, Y, strPW
If myLength = 0 Then
Randomize
myLength = Int((10 * Rnd) + 10)
End If
For X = 1 To myLength
'Randomize the type of this character
Y = Int((3 * Rnd) + 1)
Select Case Y
Case 1'Numeric character
Randomize
strPW = strPW & CHR(Int((9 * Rnd) + 48))
Case 2
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 65))
Case 3
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 97))
End Select
Next
RandomPW = strPW
End Function
%>
Neil
The easiest way for a truly random mix (including upper/lower characters) how about:
<% Option Explicit %>
<%
Response.Write RandomPW(13) & "<br>" & vbCrLf
Function RandomPW(myLength)
Dim X, Y, strPW
If myLength = 0 Then
Randomize
myLength = Int((10 * Rnd) + 10)
End If
For X = 1 To myLength
'Randomize the type of this character
Y = Int((3 * Rnd) + 1)
Select Case Y
Case 1'Numeric character
Randomize
strPW = strPW & CHR(Int((9 * Rnd) + 48))
Case 2
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 65))
Case 3
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 97))
End Select
Next
RandomPW = strPW
End Function
%>
Neil
<% Option Explicit %>
<%
Response.Write RandomPW(13) & "<br>" & vbCrLf
Function RandomPW(myLength)
Dim X, Y, strPW
If myLength = 0 Then
Randomize
myLength = Int((10 * Rnd) + 10)
End If
For X = 1 To myLength
'Randomize the type of this character
Y = Int((3 * Rnd) + 1)
Select Case Y
Case 1'Numeric character
Randomize
strPW = strPW & CHR(Int((9 * Rnd) + 48))
Case 2
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 65))
Case 3
Randomize
strPW = strPW & CHR(Int((25 * Rnd) + 97))
End Select
Next
RandomPW = strPW
End Function
%>
Neil
ASKER
The problem is that I am not sure how to do it in the following steps.
1. Generate the random number
2. Check if it is in the databse
- If not: then insert into database
- If yes: then run the random generator again
3. have a parameter like "click" that I can specify so that everytime the user clicks on the link it will update the database in the clicks column with 1 then 2 then 3 then 4 and so on until it hits the number I specified.
Hopes this clears up what I want to do.
1. Generate the random number
2. Check if it is in the databse
- If not: then insert into database
- If yes: then run the random generator again
3. have a parameter like "click" that I can specify so that everytime the user clicks on the link it will update the database in the clicks column with 1 then 2 then 3 then 4 and so on until it hits the number I specified.
Hopes this clears up what I want to do.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I want to set the number of clicks on the url so that I can expire the link after a certain number.
ASKER
Should read : "insert into DownloadID" &_