Avatar billede webhelpers Praktikant
05. december 2001 - 17:51 Der er 7 kommentarer og
1 løsning

Til ASP-nørderne........

Følgende kode uploader et billede til databasen vin.mdb. Problemet er at den laver en ny record i databasen, istedet for at knytte billedet til det ID som den modtager øverst i koden.....


<%
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../../../../scripts/vinhandel/vin.mdb\")

\' Her skabes FileUp objektet
Set objUpl = Server.CreateObject(\"SoftArtisans.FileUp\")

intID = request.querystring(\"ID\")

\' Her sættes en begrænsning på 10 kb.
If objUpl.Form(\"upload\") <> \"\" Then
    \' Hvis formen er blevet submitted
    strFilename = objUpl.Form(\"f1\").UserFilename
    strFileExt = Mid(strFilename, InstrRev(strFilename, \".\") + 1)
    If objUpl.Form(\"f1\").IsEmpty Then
        strMsg = \"<p>Du skal vælge en fil</p>\"
    ElseIf LCase(strFileExt) <> \"gif\" AND LCase(strFileExt) <> \"jpg\" Then
        strMsg = \"<p>Du skal vælge enten et GIF eller JPG fil!</p>\"
    ElseIf objUpl.TotalBytes > 10000 Then
        strMsg = \"<p>Billedet fylder mere end 10 Kb., vælg venligst et andet!</p>\"
    Else
        \' Her gemmes filen i databasen
        Set rsBlob = Server.CreateObject(\"ADODB.RecordSet\")
        rsBlob.Open \"vin\", myConn, 1, 3
        rsBlob.find \"ID=\" & request.querystring(\"ID\")
       
        rsBlob.Fields(\"Image_Data\") = objUpl.Form(\"f1\").SaveAsBlob
        rsBlob.Fields(\"Image_Type\") = objUpl.Form(\"f1\").ContentType
        rsBlob.Fields(\"Image_Name\") = Mid(strFilename, InstrRev(strFilename, \"\\\") + 1)
        rsBlob.Update
        rsBlob.Close
        Set rsBlob = Nothing       
    End If
End If

\' Her frigives FileUp objektet fra hukommelsen
Set objUpl = Nothing
%>
<html>
<head>
<title>Upload af billeder til vindatabasen
</title>
<LINK HREF=\"../style.css\" REL=\"stylesheet\" TYPE=\"text/css\">
</head>

<BODY BACKGROUND=\"http://www.falslev.dk/TEST - ERIK/Billeder/bg1.gif\">
<!-- #include file=\"header.inc\" -->
<%=strMsg%>

<form method=\"POST\" enctype=\"multipart/form-data\" action=\"newpic.asp\">
<br>
<br>
<br>
<table bgcolor=#E8E7DC border=\"1\" borderColorDark=\"#999999\" borderColorLight=\"#999999\" cellPadding=\"4\" cellSpacing=\"0\" align=center class=white WIDTH=\"500\">
<TR>
<TD>BILLEDE :</TD>
<TD><input type=\"file\" size=\"20\" name=\"f1\"></TD>
</TR>
<TR>
<TD ALIGN=\"center\" COLSPAN=\"2\"><input type=\"submit\" name=\"upload\" value=\"TILFØJ\">
</TD>
</TR>
</table>
</form>
<br>
<table bgcolor=#E8E7DC border=\"1\" borderColorDark=\"#999999\" borderColorLight=\"#999999\" cellPadding=\"9\" cellSpacing=\"0\" align=center WIDTH=\"300\">
<tr>
<td ALIGN=\"center\" width=\"500\" COLSPAN=\"2\"><a href=\"edit.asp?ID=<%=intID%>\"><span class=vinoverskrift>TILBAGE</span></A>
</tr>
</table>
</body>
</html>
Avatar billede excession Nybegynder
05. december 2001 - 22:49 #1
du er sikker på at feltet i tabellen hedder ID= ?
Avatar billede webhelpers Praktikant
05. december 2001 - 23:39 #2
nej, feltet hedder ID

rsBlob.find \"ID=\" & request.querystring(\"ID\")
Er der denne her sætning du tænker på?
Det kan sgu\' godt være koden er forkert. Den skal finde ID i databasen, baseret på det ID den requester...
Avatar billede webhelpers Praktikant
05. december 2001 - 23:43 #3
fjerner man \" før ÌD=\" & osv. opstår der fejl, så kan den slet ikke vise siden...
Avatar billede snuseren.dk Nybegynder
07. december 2001 - 20:58 #4
Er det så ikke lettere at skrive det i sql\'en ??
f.eks.

SQL = \"Select * from tabellen where ID=\'&request.querystring(\'ID\')\";

Altså sådan cirka noget i den stil...
Avatar billede snuseren.dk Nybegynder
07. december 2001 - 21:02 #5
Arhh...

Prøv i stedet dette:

ID = request.querystring(\"ID\")
SQL = \"Select * from tabellen where ID = &ID \";
Avatar billede snuseren.dk Nybegynder
07. december 2001 - 21:02 #6
Måske virker det
Avatar billede webhelpers Praktikant
09. december 2001 - 12:09 #7
Hej snuseren
Jeg har ændret koden med dit forslag, men det sker stadig ingenting, den lægger stadig billedet ind som ny record, istedet for at lægge billedet sammen med det id den modtager øverst. Koden ser nu sådan ud, hvor du kan se din ændring er implementeret:

Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../../../../scripts/vinhandel/vin.mdb\")

intID = request.querystring(\"ID\")

\' Her skabes FileUp objektet
Set objUpl = Server.CreateObject(\"SoftArtisans.FileUp\")

\' Her sættes en begrænsning på 10 kb.
If objUpl.Form(\"upload\") <> \"\" Then
    \' Hvis formen er blevet submitted
    strFilename = objUpl.Form(\"f1\").UserFilename
    strFileExt = Mid(strFilename, InstrRev(strFilename, \".\") + 1)
    If objUpl.Form(\"f1\").IsEmpty Then
        strMsg = \"<p>Du skal vælge en fil</p>\"
    ElseIf LCase(strFileExt) <> \"gif\" AND LCase(strFileExt) <> \"jpg\" Then
        strMsg = \"<p>Du skal vælge enten et GIF eller JPG fil!</p>\"
    ElseIf objUpl.TotalBytes > 10000 Then
        strMsg = \"<p>Billedet fylder mere end 10 Kb., vælg venligst et andet!</p>\"
    Else
        \' Her gemmes filen i databasen
        Set rsBlob = Server.CreateObject(\"ADODB.RecordSet\")
        Set RSVin = rsBlob.Execute (\"SELECT * FROM vin WHERE ID = \" & intID & \"\")
        RSVin.Open \"vin\", myConn, 1, 3
        RSVin.find \"ID=\" & request.querystring(\"ID\")
       
        RSVin.Fields(\"Image_Data\") = objUpl.Form(\"f1\").SaveAsBlob
        RSVin.Fields(\"Image_Type\") = objUpl.Form(\"f1\").ContentType
        RSVin.Fields(\"Image_Name\") = Mid(strFilename, InstrRev(strFilename, \"\\\") + 1)
        RSVin.Update
        RSVin.Close
        Set RSVin = Nothing       
    End If
End If

\' Her frigives FileUp objektet fra hukommelsen
Set objUpl = Nothing
Avatar billede webhelpers Praktikant
07. januar 2002 - 13:38 #8
nå, jeg kan ikke få hjælp til problemo, så jeg lukker spg...
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