costodiaMedlem sedan aug. 2000864 inlägg jag tittade på lottoscriptet som finns på http://script.webforum.nu/wf/Forum1/HTML/000032.html
jag bara undrar om det är någon som fått det att funka, jag har själv lagt upp det på http://www.costodia.com/lotto.asp och det ser ut så här:
<%
Response.Buffer = True
'--------------------------------------------------------------------
' Get unique numbers
'--------------------------------------------------------------------
' Script written by - Patrik Berggren
' Email: mrwize@mrwize.nu
' Homepage: http://www.mrwize.nu
'--------------------------------------------------------------------
Sub GetNo(ByRef intUniqueNo, ByRef intTotNo)
' Check If total numbers is fewer than wanted uniques
'----------------------------------------------------
If intUniqueNo >= intTotNo Then
Response.Write "Total unique numbers, (" & intUniqueNo & _
"), has to be fewer than total numbers, (" & _
intTotNo & "), to choose from."
Exit Sub
End If
Randomize
' Get first unique number
'------------------------
intAllNo = "#" & CInt((RND * (intTotNo - 1)) + 1) & "#"
' Start position
'---------------
n = 1
' Get unique numbers
'-------------------
While Not n = intUniqueNo
intNewNo = CInt((RND * (intTotNo - 1)) + 1) & "#"
' check if the new number is unique
'----------------------------------
If InStr(intAllNo,"#" & intNewNo) Then
n = n
Else
intAllNo = intAllNo & intNewNo
n = n + 1
End If
Wend ' next unique number
' create an array out of all unique numbers
'------------------------------------------
arrAllNo = Split(intAllNo,"#")
' Create a recordset
'-------------------
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Fields.Append "FLD_NUMBER", 3, Len(intUniqueNo)
objRS.Sort = "FLD_NUMBER ASC"
objRS.Open
' set all unique numbers into recordset
' to sort ascending
'--------------------------------------
For i = 1 To UBound(arrAllNo) - 1
objRS.AddNew
objRS("FLD_NUMBER") = arrAllNo(i)
objRS.Update
Next
' Show user all unique numbers
'-----------------------------
objRS.MoveFirst
Do Until objRS.EOF
iNo = iNo + 1
Response.Write("Nr " & iNo & ": " & objRS("FLD_NUMBER") & "<br>")
objRS.MoveNext
Loop
objRS.Close
Set objRS = nothing
End Sub
%>
<html>
<head>
<title></title>
</head>
<body><%
Call GetNo(20,70)
%>
</body>
</html>
Men det blir
Provider error '80004005'
Unspecified error
/lotto.asp, line 48
Vad har gjort för fel?
------------------
Tack på förhand
Mvh Martin Persson
www.Costodia.com
VideMedlem sedan dec. 19998 577 inlägg Och vad står på rad 48?
------------------
Kom hem till mig...
nilzzonMedlem sedan aug. 2000106 inlägg Jag brukar få samma fel... åtminstone ibland. Fast då på svenska (odefinierat fel) ;)
Felet brukar för mig uppträda då jag öppnar en databas. Det som då hjälper är att själv orsaka ett fel (genom att skriva in en felaktig "driver" [connect.open "driver={tjolahopp}"]). När jag sedan skriver in rätt igen funkar allt. Med andra ord... orsaka ett medvetet fel (på vad 48), testkör, ändra och se om det funkar...
Datorer har inget eget liv, men ibland undrar man... ;)
------------------
---
/M.
costodiaMedlem sedan aug. 2000864 inlägg på rad 48 står objRS.Open
ovanför det står det
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Fields.Append "FLD_NUMBER", 3, Len(intUniqueNo)
objRS.Sort = "FLD_NUMBER ASC"
nizzon, problemet för mig är att jag ite öppnar någon databas.
------------------
Tack på förhand
Mvh Martin Persson
www.Costodia.com
cascaMedlem sedan feb. 20005 891 inlägg
nizzon, problemet för mig är att jag inte öppnar någon databas.
Varför skapar du då en Recordset-instans? :q
------------------
ännu ett otroligt genomtänkt inlägg av casca
PatrikBMedlem sedan mars 20002 836 inlägg Hello,
recsetet skapas endast för att sortera alla nummer i nummerordning, dvs från lägsta till högsta ....
Ser vart felet ligger och det är raden innan objRS.Open ... dvs, objRS.Sort ... den skulle vara bortkommenterad ...
Här kommer ett uppdaterat script som funkar:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<%
Response.Buffer = False
'--------------------------------------------------------------------
' Get unique numbers
'--------------------------------------------------------------------
' Script written by - Patrik Berggren
' Email: mrwize@mrwize.nu
' Homepage: [url="http://www.mrwize.nu"]http://www.mrwize.nu[/url]
'--------------------------------------------------------------------
Sub GetNo(ByRef intUniqueNo, ByRef intTotNo)
' Check If total numbers is fewer than wanted uniques
'----------------------------------------------------
If intUniqueNo >= intTotNo Then
Response.Write "Total unique numbers, (" & intUniqueNo & _
"), has to be fewer than total numbers, (" & _
intTotNo & "), to choose from."
Exit Sub
End If
Randomize
' Get first unique number
'------------------------
intAllNo = "#" & CInt((RND * (intTotNo - 1)) + 1) & "#"
' Start number
'-------------
n = 1
' Get unique numbers
'-------------------
While Not n = intUniqueNo
intNewNo = CInt((RND * (intTotNo - 1)) + 1) & "#"
' check if the new number is unique
'----------------------------------
If InStr(intAllNo,"#" & intNewNo) Then
n = n
Else
intAllNo = intAllNo & intNewNo
n = n + 1
End If
Wend ' next unique number
' create an array out of all unique numbers
'------------------------------------------
arrAllNo = Split(intAllNo,"#")
' Create a recordset
'-------------------
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Fields.Append "FLD_NUMBER", 3, Len(intUniqueNo)
objRS.Open
' set all unique numbers into recordset
' to sort ascending
'--------------------------------------
For i = 1 To UBound(arrAllNo) - 1
objRS.AddNew
objRS("FLD_NUMBER") = arrAllNo(i)
objRS.Update
Next
' Show user all unique numbers
'-----------------------------
objRS.Sort = "FLD_NUMBER ASC"
objRS.MoveFirst
Do Until objRS.EOF
iNo = iNo + 1
Response.Write("Nr " & iNo & ": <b>" & objRS("FLD_NUMBER") & "</b><br>")
objRS.MoveNext
Loop
objRS.Close
Set objRS = nothing
End Sub
%>
</font>
Kan beskådas här
cya,
------------------
'*********************
Response.Write("PatrikB")
Response.End
'*********************
[Redigerat av PatrikB den 22 okt 2000]