/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
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 i databasen, lav~
Fra : Jakob Bjerre Peterse~


Dato : 21-10-06 16:29

Hej eksperter,

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

%>


Fjerne dyret i min mail...

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jakob Bjerre Peterse~ (21-10-2006)
Kommentar
Fra : Jakob Bjerre Peterse~


Dato : 21-10-06 18:02

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.. :)


Fjern dyret i min mail...

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste