Avatar billede moejensen Nybegynder
23. september 2001 - 20:16 Der er 9 kommentarer og
1 løsning

HJÆLP update record

Hvordan omskriver jeg denne sætninge til at den opdatere den record hvor id er lig med \"session(\"usrID\")\", i stedet for at oprette et ny record set.

  \' Her gemmes filen i databasen
        Set rsBlob = Server.CreateObject(\"ADODB.RecordSet\")
        rsBlob.Open \"persondata\", myConn, 1, 3
        rsBlob.AddNew
        objUpl.Form(\"f1\").SaveAsBlob rsBlob.Fields(\"Image_Data\")
        rsBlob.Fields(\"Image_Type\") = objUpl.Form(\"f1\").ContentType
        rsBlob.Update
        intID = rsBlob(\"ImageID\")
        rsBlob.Close
        \' Her frigives vores recordset fra hukommelsen
        Set rsBlob = Nothing       
        \' Tekst der viser hvad filnavnet er og hvor meget filen fylder
        strMsg = \"<p>Filen <em>\" & strFilename & \"</em> er uploaded til databasen, og fylder <em>\" & objUpl.TotalBytes & \"</em> bytes.</p>\" &_
            \"<p><img src=upload.asp?mode=show&id=\"& intID &\"></p>\"
Avatar billede burningice Nybegynder
23. september 2001 - 20:24 #1
må vi se valuen for persondata!
Avatar billede moejensen Nybegynder
23. september 2001 - 20:28 #2
de er her:

ID = AutoNumber
Name = Text
Adresse = Text
Tlf = Text
mobil = Text
Email = Text
ICQ = Text
Foedselsdag = Text
Username = Text
Password = Text
Image_Data = OLE Object
Image_Type = Text

Men de andre felter kan man rette et andet sted, så det er kun billedet der skal puttes ind.
Avatar billede burningice Nybegynder
23. september 2001 - 20:31 #3
nej nej nej.. det står her

rsBlob.Open \"persondata\", myConn, 1, 3

persondata er den sql query der bliver kaldt, og derfor også den vi skal lave om på!
Avatar billede moejensen Nybegynder
23. september 2001 - 20:33 #4
Der er inegn, her er hele koden så kan du selv se *s*

------------------------------------------------

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

intID =  Request(\"ID\")

If Request.QueryString(\"mode\") = \"show\" Then
    \' Denne kode fremviser den ønskede fil
    strSQL = \"SELECT Image_Type, Image_Data FROM persondata WHERE (ImageID = \" & intID & \");\"
    Set rs = myConn.Execute(strSQL)
    If Not rs.EOF Then
        Response.ContentType = rs(\"Image_Type\")
        Response.BinaryWrite rs(\"Image_Data\")
    End If
    \' Her frigives Connection objektet fra hukommelsen
    myConn.Close
    Set myConn = Nothing
    Response.End

End If



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

\' Her sættes en begrænsning på 200 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 > 200000 Then
        strMsg = \"<p>Billedet fylder mere end 200 Kb., vælg venligst et andet!</p>\"
    Else
        \' Her gemmes filen i databasen
        Set rsBlob = Server.CreateObject(\"ADODB.RecordSet\")
        rsBlob.Open \"persondata\", myConn, 1, 3
        rsBlob.AddNew
        objUpl.Form(\"f1\").SaveAsBlob rsBlob.Fields(\"Image_Data\")
        rsBlob.Fields(\"Image_Type\") = objUpl.Form(\"f1\").ContentType
        rsBlob.Fields(\"UsrID\") = session(\"usrID\")
        rsBlob.Update
        intID = rsBlob(\"ImageID\")
        rsBlob.Close
        \' Her frigives vores recordset fra hukommelsen
        Set rsBlob = Nothing       
        \' Tekst der viser hvad filnavnet er og hvor meget filen fylder
        strMsg = \"<p>Filen <em>\" & strFilename & \"</em> er uploaded til databasen, og fylder <em>\" & objUpl.TotalBytes & \"</em> bytes.</p>\" &_
            \"<p><img src=upload.asp?mode=show&id=\"& intID &\"></p>\"
    End If
End If

\' Her frigives FileUp objektet fra hukommelsen
Set objUpl = Nothing
%><html><head>
<title>Upload til Access</title>
</head><body>
<%=strMsg%>
<form method=\"POST\" enctype=\"multipart/form-data\" action=\"upload.asp\">
<p><input type=\"file\" size=\"20\" name=\"f1\"></p>
<p><input type=\"checkbox\" name=\"C1\" value=\"ON\">Klik her hvis billedet skal bruges på din profil</p>
<p><input type=\"submit\" name=\"upload\" value=\"Upload\"></p>
<p>Bemærk: Billedet må max være på 200 kb.</p>
</form>
<%
\' Her frigives Connection objektet fra hukommelsen
myConn.Close
Set myConn = Nothing
%>
</body></html>

-----------------------------------------------
Avatar billede burningice Nybegynder
23. september 2001 - 20:38 #5
aah... du åbner simpelthen hele tabbelen...

okay, skift
rsBlob.Open \"persondata\", myConn, 1, 3
ud med
rsBlob.Open \"SELECT * FROM persondata WHERE (id = \"& session(\"usrID\") &\")\" myConn, 1, 3
Avatar billede moejensen Nybegynder
23. september 2001 - 20:42 #6
jeg får denne fejl nu:

Error Type:
Microsoft VBScript compilation (0x800A0401)
Expected end of statement
/moejensen/Overlund/upload.asp, line 41, column 75
rsBlob.Open \"SELECT * FROM persondata WHERE (id = \"& session(\"usrID\") &\")\" myConn, 1, 3
--------------------------------------------------------------------------^
Avatar billede burningice Nybegynder
23. september 2001 - 21:13 #7
prøv

rsBlob.Open SELECT * FROM persondata WHERE (id = \"& session(\"usrID\") &\") myConn, 1, 3
Avatar billede moejensen Nybegynder
24. september 2001 - 07:28 #8
stadig samme fejl:

Error Type:
Microsoft VBScript compilation (0x800A03EA)
Syntax error
/moejensen/Overlund/upload.asp, line 41, column 12
rsBlob.Open SELECT * FROM persondata WHERE (id = \"& session(\"usrID\") &\") myConn, 1, 3


Jeg har ændret lidt i kode nogle steder, men ikke nogle steder der skulle have betydning for det du hjælper mig med. Så du fåe lige koden igen:<%
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../Database/bruger.mdb\")

intID =  Request(\"ID\")

If Request.QueryString(\"mode\") = \"show\" Then
    \' Denne kode fremviser den ønskede fil
    strSQL = \"SELECT Image_Type, Image_Data FROM persondata WHERE (ID = \" & intID & \");\"
    Set rs = myConn.Execute(strSQL)
    If Not rs.EOF Then
        Response.ContentType = rs(\"Image_Type\")
        Response.BinaryWrite rs(\"Image_Data\")
    End If
    \' Her frigives Connection objektet fra hukommelsen
    myConn.Close
    Set myConn = Nothing
    Response.End

End If



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

\' Her sættes en begrænsning på 200 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 > 200000 Then
        strMsg = \"<p>Billedet fylder mere end 200 Kb., vælg venligst et andet!</p>\"
    Else
        \' Her gemmes filen i databasen
        Set rsBlob = Server.CreateObject(\"ADODB.RecordSet\")
        rsBlob.Open SELECT * FROM persondata WHERE (id = \"& session(\"usrID\") &\") myConn, 1, 3
        rsBlob.AddNew
        objUpl.Form(\"f1\").SaveAsBlob rsBlob.Fields(\"Image_Data\")
        rsBlob.Fields(\"Image_Type\") = objUpl.Form(\"f1\").ContentType
        rsBlob.Update
        rsBlob.Close
        \' Her frigives vores recordset fra hukommelsen
        Set rsBlob = Nothing       
        \' Tekst der viser hvad filnavnet er og hvor meget filen fylder
        strMsg = \"<p>Filen <em>\" & strFilename & \"</em> er uploaded til databasen, og fylder <em>\" & objUpl.TotalBytes & \"</em> bytes.</p>\" &_
            \"<p><img src=upload.asp?mode=show&id=\"& session(\"usrID\") &\"></p>\"
    End If
End If

\' Her frigives FileUp objektet fra hukommelsen
Set objUpl = Nothing
%><html><head>
<title>Upload til Access</title>
</head><body>
<%=strMsg%>
<form method=\"POST\" enctype=\"multipart/form-data\" action=\"upload.asp\">
<p><input type=\"file\" size=\"20\" name=\"f1\"></p>
<p><input type=\"submit\" name=\"upload\" value=\"Upload\"></p>
<p>Bemærk: Billedet må max være på 200 kb.</p>
</form>
<%
\' Her frigives Connection objektet fra hukommelsen
myConn.Close
Set myConn = Nothing
%>
</body></html>

Avatar billede burningice Nybegynder
24. september 2001 - 09:07 #9
nu er det længe siden jeg har arbejde med RecordSet\'s men prøv følgende
erstat
rsBlob.Open SELECT * FROM persondata WHERE (id = \"& session(\"usrID\") &\") myConn, 1, 3
med
strSQL = \"SELECT * FROM persondata WHERE (id = \"& session(\"usrID\") &\")\"
rsBlob.Open strSQL, myConn, 1, 3
Avatar billede moejensen Nybegynder
24. september 2001 - 16:45 #10
det virkede næsten, jeg skulle bare også slette rsBlob.AddNew så virkede det..

men tak for hjælpen
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