Jag försöker göra en loop som ska matas in i min databas, men den klagar på att den inte hittar variabeln "pass"... Det första jag ser är, varför har du Pass variabeln? Du sätter Pass = Password och sen använder du Pass. Ta bort Pass och stoppa in Password istället. Jag är osäker på om det fungerar att tilldela med Mid() satsen i VB Script. Det går i vanliga VB. Det går INTE att tilldela Mid() satsen i VB Script, men tack för förslaget!mata in en loop i en databas?
Vad är det för fel?
Fältet som ska uppdateras med den nya informationen är "slumpnummer".
Fältet är tomt just nu, om det spelar någon roll...
Kod:
<code>
<%
strSqlSvar = "SELECT * FROM tidningar"
rsSvar.Open strSqlSvar, objCon,3,3
do until rsSvar.EOF
Dim Password, Pass
Const PassChars = "abcdefghikjlmopqrstuvwxyzABCDEFGHIJKLMNOPPQRSTUVWXYZ0123456789"
For a = 1 to 20
Password = ""
Randomize
For i = 1 To 10
Password = Password & mid (PassChars, int(rnd*len(PassChars))+1, 1 )
Next
Next
rsSvar.Update
Pass = Password
rsSvar("slumpnummer") = Pass
rsSvar.Close
rsSvar.MoveNext
loop
%>
</code>Sv: mata in en loop i en databas?
Det andra är att du har
<code>
rsSvar.Close
rsSvar.MoveNext
</code>
Det innebär att du stänger ditt recordset. Då kan du inte göra något mer efter det.
Ta bort rsSvar.Close och sätt det efter loop istället.Sv: mata in en loop i en databas?
<code>
<%
Function CreatePassword(Length)
Dim P
Const PassChars = "abcdefghikjlmopqrstuvwxyzABCDEFGHIJKLMNOPPQRSTUVWXYZ0123456789"
Randomize
CreatePassword = Space(Length)
For P = 1 To Length
Mid(CreatePassword, P, 1) = Mid(PassChars, Int(Rnd * Len(PassChars)) + 1, 1)
Next
End Function
strSQL = "SELECT * FROM tidningar"
rs.Open strSQL, objCon, 3, 3
Do until rs.EOF
rs("slumpnummer") = CreatePassword(10)
rs.Update
rs.MoveNext
Loop
rs.Close
%>
</code>
Om inte det funkar kan du testa:
<code>
<%
Function CreatePassword(Length)
Dim P
Const PassChars = "abcdefghikjlmopqrstuvwxyzABCDEFGHIJKLMNOPPQRSTUVWXYZ0123456789"
Randomize
For P = 1 To Length
CreatePassword = CreatePassword & Mid(PassChars, Int(Rnd * Len(PassChars)) + 1, 1)
Next
End Function
strSQL = "SELECT * FROM tidningar"
rs.Open strSQL, objCon, 3, 3
Do until rs.EOF
rs("slumpnummer") = CreatePassword(10)
rs.Update
rs.MoveNext
Loop
rs.Close
%>
</code>Sv: mata in en loop i en databas?
Nu funkar det, ett av felen var att jag hade satt fältet till "nummer" (gammal idé...)...
Tack för hjälpen!