Avatar billede hyggesen Nybegynder
09. august 2004 - 17:05 Der er 8 kommentarer og
1 løsning

Ikke fungerende script

Jeg fik i et tidligere spm dette script (Tilrettet sti som virker fint) :

<%
subPath = "../Images/Produkter/"
Path = Server.MapPath("/"&subPath)

Set FSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = FSO.GetFolder(Path)
Set RS = Server.CreateObject("ADODB.Recordset")

RS.Fields.Append "Filnavn", adVarChar, 20
RS.Fields.Append "Filtype", adVarChar, 20
RS.Fields.Append "Storrelse", adInteger, 6
RS.Fields.Append "Sidstaendret", adDate, 9
RS.Open

For Each file in objFolder.Files
  If NOT Fil.Name = "Thumbs.db" Then
    RS.Addnew
    RS("Filnavn") = file.Name
    RS("Filtype") = file.Type
    RS("Storrelse") = file.Size
    RS("Sidstaendret") = file.DateLastModified
    RS.Update
  end if 
Next
' Sorter filerne, efter: navn, dato, størrelse
RS.Sort = "Filnavn ASC, Sidstaendret, Storrelse"
' Udskriv filerne
RS.MoveFirst
while Not RS.EOF
  Response.Write RS("filnavn") & "<br>"
  RS.MoveNext
wend

RS.Close
Set RS =nothing
Set FSO =nothing
%>

Men når jeg forsører at køre scriptet bliver min pc ved med at forsøge at loade siden som til sidst går kold. Skal måske lige sige jeg kører serveren på en xp maskine som localhost.
Hvad kan skyldes dette problem ?
Avatar billede hyggesen Nybegynder
09. august 2004 - 20:49 #1
Har forsøgt mig lidt frem, men den gør nøjagtig det samme

<%

subPath = "../Images/Produkter"
Path = Server.MapPath(subPath)

Set FSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = FSO.GetFolder(Path)
Set RS = New ADODB.Recordset

With RS
    .Fields.Append "ID", adChar, 5, adFldRowID
    .Fields.Append "Filnavn", adChar, 40, adFldUpdatable
    .Fields.Append "Filtype", adChar, 40, adFldUpdatable
    .Fields.Append "Storrelse", adChar, 40, adFldUpdatable
    .Fields.Append "Sidstaendret", adChar, 40, adFldUpdatable
    .Open
End With

For Each file in objFolder.Files
  If NOT file.Name = "Thumbs.db" Then
    RS.Addnew
    RS("Filnavn") = file.Name
    RS("Filtype") = file.Type
    RS("Storrelse") = file.Size
    RS("Sidstaendret") = file.DateLastModified
    RS.Update
  end if 
Next

RS.Sort = "Filnavn ASC, Sidstaendret, Storrelse"
RS.MoveFirst

while Not RS.EOF
      Response.Write RS("filnavn") & "<br>"
    RS.MoveNext
wend

RS.Close
Set RS =nothing
Set FSO =nothing
%>
Avatar billede eagleeye Praktikant
09. august 2004 - 22:13 #2
Har du norton antivirus?
Avatar billede hyggesen Nybegynder
10. august 2004 - 16:29 #3
Jep...! :-)
Avatar billede eagleeye Praktikant
10. august 2004 - 16:58 #4
Så prøv i norton at slå "Active Scripting" fra. Det kan være nødvendigt at genstarte PC'en for det er slået fra.
Avatar billede hyggesen Nybegynder
10. august 2004 - 17:27 #5
Ja, det virkede men nu kommer den med denne fejlmelding ?

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Avatar billede hyggesen Nybegynder
10. august 2004 - 17:28 #6
Og peger på denne linie :
.Fields.Append "ID", adChar, 5, adFldRowID
Avatar billede eagleeye Praktikant
10. august 2004 - 19:59 #7
Umiddelbart bør autonummer ID vel være af typen int og ikke char:

    .Fields.Append "ID", adInteger, 5, adFldRowID


Eller måske den ikke kender konstanterne? Prøv at skrive tabellet for det:

With RS
    .Fields.Append "ID", 129, 5, &H100
    .Fields.Append "Filnavn", 129, 40, &H4

Se mere her for tallene:
http://www.devguru.com/Technologies/ado/quickref/recordset_fieldscollection.html


Eller så prøv at fjerne en parameter sådan her:
With RS
    .Fields.Append "ID", adChar, 5
    .Fields.Append "Filnavn", adChar, 40
Avatar billede hyggesen Nybegynder
10. august 2004 - 21:20 #8
Mange Tak for hjælpen...!

Det endelige script ser således ud :

<%

subPath = "../Images/Produkter"
Path = Server.MapPath(subPath)

Set FSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = FSO.GetFolder(Path)
Set RS = Server.CreateObject("ADODB.Recordset")

With RS
    .Fields.Append "ID", 129, 5, &H100
    .Fields.Append "Filnavn", 129, 40, &H4
    .Fields.Append "Filtype", 129, 40, &H4
    .Fields.Append "Storrelse", 129, 40, &H4
    .Fields.Append "Sidstaendret", 129, 40, &H4
    .CursorType = adOpenKeyset
    .Open
End With

For Each file in objFolder.Files
  If NOT file.Name = "Thumbs.db" Then
    RS.Addnew
    RS("Filnavn") = file.Name
    RS("Filtype") = file.Type
    RS("Storrelse") = file.Size
    RS("Sidstaendret") = file.DateLastModified
    RS.Update
  end if 
Next

RS.Sort = "Filnavn ASC, Sidstaendret, Storrelse"
RS.MoveFirst

while Not RS.EOF
      Response.Write RS("filnavn") & "<br>"
    RS.MoveNext
wend

RS.Close
Set RS =nothing
Set FSO =nothing
%>

Kan jeg ikke få et svar så du kan få dine points ?
MVH. Hygge
Avatar billede eagleeye Praktikant
10. august 2004 - 21:27 #9
Jo da her et svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester