/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Tjek om fil er nedskreven fejl
Fra : _saudoo
Vist : 392 gange
100 point
Dato : 21-10-06 14:08

Hej,

Nu har jeg siddet og bøvlet med denne kode i nogle dage. Jeg valgte for en lille time siden, at skrive den forfra. Så simpel som mulig. Men ligelidt hjalp det.

Mit projekt ligger i at jeg ved hjælp af FSO, går ind og tjekker en mappe for mapper. Hver af de mappe, der indeholder en fil der hedder "installer.asp", bliver taget med.

Jeg indlæser "installer.asp" med Server.Execute, og bruger tre Sessions der står i installer.asp til at tjekke om filen er skrevet ind i databasen. Derefter slettes de.

F.eks:
Jeg indlæser "installer.asp" fra mappen "yoga". Deri er en session der hedder varNavn. Den indeholder stringen "Yoga". Med det tjekker jeg om der er nogle rækker, hvor feltet "navn" indeholder "Yoga".

Hvis der er det, burde den skrive at den findes i database. Og hvis ikke, burde den skrive at den ikke gør.

Dette forgår i løkken "For each mapp in findfiler.SubFolders".

I min database, findes en tabel der hedder skabelon. Den har felterne navn, beskrivelse, oprettet og så et der hedder aktiveret, men det er ligegyldigt på nuværende tidspunkt.

Kan nogle forklare mig hvad i alverden jeg gør galt her? Den laver et komplet rod, når den skal skrive ud, om indholdet i installer.asp står i databsen.

Håber i kan hjælpe, for jeg er tæt på at rive håret af.
Jakob


Kode til template.asp inkluderet herunder:
<!--#include virtual="forbindelse.asp"-->
<%
If Request.QueryString("side") = "skabeloner" Then

Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set findfiler = fso.GetFolder(Server.Mappath("../templates/"))

Set skabelon = Server.CreateObject("ADODB.Recordset")
skabelon.Open "SELECT * FROM skabeloner", database

If NOT skabelon.EOF Then

For each mappe in findfiler.SubFolders
Set findtemplate = fso.GetFolder(Server.Mappath("../templates/" & mappe.Name))

If fso.FileExists(Server.Mappath("..\templates\") & "\" & mappe.Name & "\installer.asp") = True Then
Server.Execute("../templates/" & mappe.Name & "/installer.asp")

Set check = Server.CreateObject("ADODB.Recordset")
check.Open "SELECT * FROM skabeloner", database

If check.Fields("navn") = Session("varNavn") Then
Response.Write(Session("varNavn") & " i databasen<br />")
Else
Response.Write(Session("varNavn") & " ikke i databasen<br />")
End If

check.Close
Set check = Nothing

Session("varNavn") = Delete
Session("varBeskrivelse") = Delete
Session("varOprettet") = Delete
End If
Next

Else
For each mappe in findfiler.SubFolders
Set findtemplate = fso.GetFolder(Server.Mappath("../templates/" & mappe.Name))
Server.Execute("../templates/" & mappe.Name & "/installer.asp")

Response.Write(Session("varNavn") & " ikke i databasen<br />")

Session("varNavn") = Delete
Session("varBeskrivelse") = Delete
Session("varOprettet") = Delete
Next
End If

skabelon.Close
Set skabelon = Nothing

End If

%>

 
 
Kommentar
Fra : refi


Dato : 21-10-06 15:25

Det ligner en opgave for "molokyle"

Hvis ikke han ser dit spørgsmål eller andre gør - så prøv at skrive et "privat indlæg" til ham med henvisning til spørgsmålet.....

Det er da et forsøg værd...

Kommentar
Fra : _saudoo


Dato : 21-10-06 15:32

Mange tak.. Prøver jeg at gøre. :)

Kommentar
Fra : molokyle


Dato : 21-10-06 16:51

Jeg har kigget på det, men er ikke en serverside kode mand. Det er så 'natmaden' I ska' ha' fat i

</MOLOKYLE>

Kommentar
Fra : _saudoo


Dato : 21-10-06 16:55

Har skrevet til natmaden.. I skal have tak for hjælpen med at guide mig hen mod den rette person..

Kommentar
Fra : natmaden


Dato : 21-10-06 17:53

rette person
Jeg kender intet til ASP
men kikker da gerne .. med.!
Nå men , ASP kan vel også læses.
Prøver

Kommentar
Fra : refi


Dato : 21-10-06 17:56

Det er vist noget værre noget jeg har fået rodet jer ud i

Kommentar
Fra : _saudoo


Dato : 21-10-06 18:14

Hehe..

Jeg har oprettet samme spørgsmål i 4 andre fora. Deriblandt en nyhedsgruppe. Så håber da på, at en eller anden vil hjæpe mig.

Om ikke andet, skal jeg nok skrive herinde, hvis jeg finder er svar på mit spørgsmål.


Iøvrigt kan jeg lidt specificere hvor fejlen opstår. Så vidt jeg kan se, burde det være i dette stykke.

Kode
If fso.FileExists(Server.Mappath("..\templates\") & "\" & mappe.Name & "\installer.asp") = True Then
Server.Execute("../templates/" & mappe.Name & "/installer.asp")

Set check = Server.CreateObject("ADODB.Recordset")
check.Open "SELECT * FROM skabeloner", database

If check.Fields("navn") = Session("varNavn") Then
Response.Write(Session("varNavn") & " i databasen<br />")
Else
Response.Write(Session("varNavn") & " ikke i databasen<br />")
End If

check.Close
Set check = Nothing

Session("varNavn") = Delete
Session("varBeskrivelse") = Delete
Session("varOprettet") = Delete
End If
Next


Kommentar
Fra : _saudoo


Dato : 21-10-06 18:24

Ikke vil.. men kan.. .. undskyld misforståelsen..

Kommentar
Fra : _saudoo


Dato : 21-10-06 19:12

Jeg fandt ikke fejlen. Men blev enig med mig selv om, at jeg ville lave det på en lettere måde. Lettere for brugeren altså. :)

Process:
Indlæs alle undermapper i mappen template. Skrive dem op.

Hvis man aktiverer en af de templates der er, redigere den blot en række i tabellen indstilinger.

Det er lettere.. :)

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407942
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste