Insert (ny record i databasen): strSQL = "INSERT INTO " & Request.Querystring("kat") & " (billede) VALUES('" & strFileName & "')"
Update (redigering af eksisterende record i databasen): strSQL = "UPDATE " & Request.Querystring("kat") & " SET billede = '" & strFileName & "' WHERE bruger = " & Request.Form("bruger")
Nu ved jeg ikke hvilket eksempel du bruger (insert/update), men kan du ikke lave et Response.Write strSQL inden de forsøger at eksekvere det, så jeg kan se hvordan SQL statementet ser ud.
fun22>> det er fordi, som der så fint står... at du ikke kan bruge request.form efter BinaryRead... jeg ved godt at man aldrig skal stole på det microsoft skriver, men nogen gange kan det altså spare en for noget bøvl
--BinaryRead-- The BinaryRead method is used to read the raw data sent by the client as part of a POST request. This method is used for low-level access to this data, as opposed to, for example, using the Request.Form collection to view form data sent in a POST request. Once you have called BinaryRead, referring to any variable in the Request.Form collection will cause an error. Conversely, once you have referred to a variable in the Request.Form collection, calling BinaryWrite will cause an error. Remember, if you access a variable in the Request collection without specifying which subcollection it belongs to, the Request.Form collection may be searched, bringing this rule into force.
Så på et eller andet tidspunkt før din Request.Form kalder du BinaryRead og det er som der står ovenfor ikke lovligt.
If intFileUpload = 0 Then Response.Write "Filen " & strFilename & " blev uploaded.<BR>" Response.Write "Det er en fil af typen " & strContentType & " og den fylder " & intFileTotalBytes & " bytes:<BR>" Response.Write "<IMG SRC=""billeder/bruger/" & strFilename & """><BR>"
On Error Resume Next
'Connection Open set Conn = Server.CreateObject("ADODB.Connection") Conn.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("db.mdb")
strSQL = "UPDATE " & Request.Querystring("kat") & " SET billede = '" & strFileName & "' WHERE bruger = " & Session("username") Response.Write "strSQL = " & strSQL
Conn.Execute(strSQL) If Err.Number <> 0 Then Response.Write Err.Description End If Else Response.Write "Der opstod en fejl under upload!<BR>" Response.Write "Fejl nr: " & intFileUpload & "<BR>" Response.Write "Filnavn: " & strFilename & "<BR>" Response.Write "Filtype: " & strContentType & "<BR>" Response.Write "Filstørrelse: " & intFileTotalBytes & "<BR>" End If End If %> </BODY> </HTML>
Jeg har flyttet Response.Write ned så den skriver SQL statementet ud lige før det bliver eksekveret. Ellers er der ikke ændret noget. Fejlmeddelelsen siger at der mangler en required parameter, så måske dit SQL statement mangler et parameter eller du forsøger at opdatere en linie i databasen som ikke må være tom (se database opsætning). Prøv at skrive hvad strSQL er når siden ser således ud.
Ok, her er der 2 ting der mangler. Her er udskriften af sql statementet:
strSQL = UPDATE SET billede = 'header.jpg' WHERE bruger =
Her mangler et tabel navn efter UPDATE for før SET, det vil sige at din variabel Request.Querystring("kat") er tom. Din bruger er også tom, altså din Session("username"). Derfor får du fejlmeddelelsen: Syntax error in UPDATE statement (pga den manglende tabel).
Prøv at erstatte disse linier: Response.Write "strSQL = " & strSQL Conn.Execute(strSQL) If Err.Number <> 0 Then Response.Write Err.Description End If
Med dette: Response.Write "strSQL = " & strSQL & "<BR>" Conn.Execute(strSQL) If Err.Number <> 0 Then Response.Write "<BR>ErrorMessage - " & Err.Description End If
Jeg kan ikke lige finde ud af hvor fejlmeddelelsen begynder og slutter.
NB! Er du sikker på at der overhovedet er noget i din Session? (Session("username"))
Du mangler vist at afslutte dine pings (') rundt om brugernavnet.
strSQL = UPDATE msoftguns SET billede = 'header.jpg' WHERE bruger = 'admin' Der skal være et ping til allersidst
/ramnir
Synes godt om
Ny brugerNybegynder
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.