Avatar billede totalpc Seniormester
28. oktober 2011 - 13:42 Der er 4 kommentarer og
1 løsning

problemer med if og aspupload

Jeg har et problem ved min if sætning :
Hvis upload.files er udfyldt, altså forskellige fra blank, så gemmer den fint i databasen, men hvis upload.files ikke er udfyldt og den derfor burde gå i else opdateres databasen aldrig.
Jeg har forsøgt at skrive SQL linjen ud efter if sætningen og den er kun udfyldt hvis der er noget i upload.files
Hvad er der galt?

if Upload.Files <> "" then
For Each File in Upload.Files
filename = File.FileName
sql = "INSERT INTO Biler (medlemsnr,mrkkode,mrkmodel,fregdato,regdato,farvekode,farve,stand,bemrk,profillink) values ('" & medlemsnr & "','" & mrkkode & "','" & mrkmodel & "','" & fregdato & "','" & regdato & "','" & farvekode & "','" & farve & "','" & stand & "','" & bemrk & "','images/" & filename &"')"
set rs = dbc.Execute(sql)

next
else
sql = "INSERT INTO Biler (medlemsnr,mrkkode,mrkmodel,fregdato,regdato,farvekode,farve,stand,bemrk,profillink) values ('" & medlemsnr & "','" & mrkkode & "','" & mrkmodel & "','" & fregdato & "','" & regdato & "','" & farvekode & "','" & farve & "','" & stand & "','" & bemrk & "','images/fotografen.jpg')"
set rs = dbc.Execute(sql)

END IF


Den fulde kode herunder:

<%
Set Upload = Server.CreateObject("Persits.Upload.1")

Upload.OverwriteFiles = False
On Error Resume Next

Upload.SetMaxSize 1048576 ' Limit files to 1MB
Count = Upload.Save(Server.MapPath("/images"))
%>
<HTML>
<BODY BGCOLOR="#FFFFFF">
<CENTER>

<% If Err <> 0 Then %>

<FONT SIZE=3 FACE="Arial" COLOR=#0020A0>
<H3>The following error occured while uploading:</h3>
</FONT>

<FONT SIZE=3 FACE="Arial" COLOR=#FF2020>
<h2>"<% = Err.Description %>"</h2>
</FONT>

<FONT SIZE=2 FACE="Arial" COLOR="#0020A0">
Please <A HREF="biler_view.asp">try again</A>.
</FONT>

<% Else %>

<!-- #include file="db.inc" -->

<%
medlemsnr=session("UserID")
mrkkode=Upload.form("mrkkode")
mrkmodel=Upload.form("mrkmodel")
fregdato=Upload.form("fregdato")
regdato=Upload.form("regdato")
farvekode=Upload.form("farvekode")
farve=Upload.form("farve")
stand=Upload.form("stand")
bemrk=Upload.form("bemrk")


if Upload.Files <> "" then

For Each File in Upload.Files

filename = File.FileName

sql = "INSERT INTO Biler (medlemsnr,mrkkode,mrkmodel,fregdato,regdato,farvekode,farve,stand,bemrk,profillink) values ('" & medlemsnr & "','" & mrkkode & "','" & mrkmodel & "','" & fregdato & "','" & regdato & "','" & farvekode & "','" & farve & "','" & stand & "','" & bemrk & "','images/" & filename &"')"
set rs = dbc.Execute(sql)

next

else

sql = "INSERT INTO Biler (medlemsnr,mrkkode,mrkmodel,fregdato,regdato,farvekode,farve,stand,bemrk,profillink) values ('" & medlemsnr & "','" & mrkkode & "','" & mrkmodel & "','" & fregdato & "','" & regdato & "','" & farvekode & "','" & farve & "','" & stand & "','" & bemrk & "','images/fotografen.jpg')"
set rs = dbc.Execute(sql)

END IF

End If
Conn.Close
Set Conn = Nothing

response.redirect "Biler_view.asp"
%>
</CENTER>
</BODY>
</HTML>
Avatar billede softspot Forsker
28. oktober 2011 - 14:00 #1
Jeg tror Files er en collection, så du kan prøve med denne if-sætning i stedet:

if Upload.Files.Count > 0 then
Avatar billede totalpc Seniormester
28. oktober 2011 - 14:38 #2
Takker. Smidt et svar.
Har du et bud på hvorfor en billeder uploaded med denne komponent kun bliver uploaded halvt? Der kommer ingen fejl, men billedet er halvveret når man displayer det uploadede.
Avatar billede softspot Forsker
28. oktober 2011 - 14:59 #3
Velbekomme :-)

Hvor store er de filer du forsøger at uploade? Du har jo sat grænsen til 1Mb og du gemmer filerne inden du tjekker for fejl (jeg ved faktisk ikke om man kan tjekke før, men det kunne være en årsag).

Desuden ville jeg nok tjekke på err.number i stedet for blot err (bare for at være helt sikker på at der tjekkes på den rigtige egenskab på err-objektet :-))...
Avatar billede totalpc Seniormester
28. oktober 2011 - 15:04 #4
Men den resizer vel selv afhængig af den grænse ik? Jeg mener hvis jeg vælger et større billede, så dropper den vel ikke bare at uploade resten?

Jeg må lige have kigget på tjek af fejl så...
Avatar billede softspot Forsker
28. oktober 2011 - 16:14 #5
Nej, upload-komponenten sørger kun for at transportere data fra klienten til serveren. Hvis du vil billedebehandle, skal du benytte en anden komponent (f.eks. persits.jpeg).

Jeg vil tro det at du gemmer strømmen fra klienten inden du tjekker for fejl er årsagen til at du får delvist uploadede data...
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