GUFFA | FOTO | PROGRAMMERING | GÄSTBOK

ASP : Sortera filer med recordset

I recordset-objektet finns en funktion för att sortera poster. Det kan man utnyttja för att sortera till exempel en lista med filer.

Den här koden skapar ett recordset med tre fält, där den lägger in filerna som finns i mappen. Sedan sorteras filerna på filstorlek, och skrivs ut i en tabell.

' ADO-konstanter
Const adInteger = 3
Const adDate = 7
Const adVarChar = 200
Const adVarWChar = 202

' dimensionera variabler

Dim objRS, objFS, objFile

' skapa ett recordset-objekt

Set objRS = Server.CreateObject("ADODB.Recordset")

' skapa fält i recordsetet

objRS.Fields.Append "Name", adVarWChar, 256
objRS.Fields.Append "Size", adInteger
objRS.Fields.Append "Created", adDate

' öppna recordsetet (utan databaskoppling och utan SQL-fråga)

objRS.Open

' skapa ett FSO-objekt

Set objFS = Server.CreateObject("Scripting.FileSystemObject")

' loopa igenom filerna i mappen

For each objFile in objFS.GetFolder(Server.MapPath(".")).Files
   ' skapa en ny post i recordsetet
   objRS.AddNew
   ' lägg in värden i posten
   objRS("Name") = objFile.Name
   objRS("Size") = objFile.Size
   objRS("Created") = objFile.DateCreated
Next

' ta bort FSO-objektet

Set objFS = Nothing

' sortera recordsetet

objRS.Sort = "Size desc"

' loopa ut filerna i en tabell

%>
<table>
   <%
   Do Until objRS.EOF
      %>
      <tr>
         <td><%=objRS("Name")%></td>
         <td><%=objRS("Size")%></td>
         <td><%=objRS("Created")%></td>
      </tr>
      <%
      objRS.MoveNext
   Loop
   %>
</table>
<%

' stäng recordsetet

objRS.Close
' ta bort recordsetet

Set objRS = Nothing