webForumDet fria alternativet

Tårarna rinner

ASP

2 svar · 191 visningar · startad av star

Medlem sedan apr. 200142 inlägg
Frågan#1

Hej igen, jag har fått ett litet problem:
Varför skriver följande kod bara ut första träffen i databasen, (post nummer 2), trots att flera senare också innehar rätt parametrar? Om någon smart person ser någonting som ser galet ut så får ni gärna hojta till!

'* ANSLUTER TILL DATABASEN
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(".") & "\fso.mdb"
SQL = "SELECT * FROM fso"
Set Rec = Server.CreateObject("ADODB.Recordset")
Rec.Open SQL, Con, adOpenStatic, adLockOptimistic

'* ANSLUTER TILL FILSYSTEMET
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(Server.MapPath(".") & "\images\" & Request.Querystring("path") & "")
FolderName = f.name

'*SÄTTER UNDERKATALOGER
Set SubFolders = F.SubFolders

'VISAR UNDERKATALOGER
For Each SubFolder In Subfolders

'JÄMFÖR MOT DATABASEN
Do Until Rec.EOF

'JÄMFÖR PARAMETRAR
If SubFolder.name = Rec("name") then
If session("group") = Rec("group") then

'SKRIVER UT VÄRDEN
Response.Write("<tr><td align='left' width='10'>")
Response.Write("<img src='images/folder.gif'></td><td width='100'>")
Response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") &  "?type=images&step=import&path=" & SubFolder.name & "&edit=" & Request.Querystring("edit") & "'>" & SubFolder.name & "</a>")
Response.Write("</td><td align='right'>" & SubFolder.Size & " KB</td>")
Response.Write("</td></tr>")

'* RUNDAR AV
End If
End If

Rec.MoveNext
Loop
Next

Response.Write("</table>")

Rec.Close
Con.Close

Tack på förhand

Star

------------------
-----------------

Medlem sedan dec. 200012 464 inlägg
#2

Nu loopar du igenom recordsetet och kommer till slutet när du tittar på första subfoldern.

Sen när du skall jämföra följande subfoldrar så är rec.eof sant så du kommer aldrig in i do until.

Du kan lägga in en rec.movefirst innan do until så att du kommer till början av recodsetet.

'* ANSLUTER TILL DATABASEN
Con.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(".") & "\fso.mdb"
SQL = "SELECT * FROM fso"
Set Rec = Server.CreateObject("ADODB.Recordset")
Rec.Open SQL, Con, adOpenStatic, adLockOptimistic
'* ANSLUTER TILL FILSYSTEMET
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(Server.MapPath(".") & "\images\" & Request.Querystring("path") & "")
FolderName = f.name

'*SÄTTER UNDERKATALOGER
Set SubFolders = F.SubFolders

'VISAR UNDERKATALOGER
For Each SubFolder In Subfolders

'JÄMFÖR MOT DATABASEN
[b]
rec.movefirst
[/b]
Do Until Rec.EOF

'JÄMFÖR PARAMETRAR
If SubFolder.name = Rec("name") then
If session("group") = Rec("group") then

'SKRIVER UT VÄRDEN
Response.Write("<tr><td align='left' width='10'>")
Response.Write("<img src='images/folder.gif'></td><td width='100'>")
Response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?type=images&step=import&path=" & SubFolder.name & "&edit=" & Request.Querystring("edit") & "'>" & SubFolder.name & "</a>")
Response.Write("</td><td align='right'>" & SubFolder.Size & " KB</td>")
Response.Write("</td></tr>")

'* RUNDAR AV
End If
End If

Rec.MoveNext
Loop
Next

Response.Write("</table>")

Rec.Close
Con.Close

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 09 jul 2001]

Medlem sedan apr. 200142 inlägg
#3

Åh, nu gråter jag ännu mer. Att det ska vara så förbannat enkelt att lösa saker.
Tack så mycket

------------------
-----------------

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)