Avatar billede donslund Nybegynder
09. november 2002 - 16:36 Der er 12 kommentarer og
1 løsning

Syntaxfejl i UPDATE

Er der ikke en der lige kan se hvad her er galt.

Update medlemmer set fornavn= 'Jeppe', efternavn= 'Donslund', adresse= 'Bygager 15', postnr= '7190', by= 'Billund', tlf= '75354628', mobil= '75354628', email= 'jeppe@donslund.net', foedselsdag= '28071977', interesse= '' Where brugernavn = 'donslund'
Avatar billede eagleeye Praktikant
09. november 2002 - 16:37 #1
by er reservet ord i SQL (ORDER BY) så der skal [] omkring kolonnenavnet [by]

Update medlemmer set fornavn= 'Jeppe', efternavn= 'Donslund', adresse= 'Bygager 15', postnr= '7190', [by]= 'Billund', tlf= '75354628', mobil= '75354628', email= 'jeppe@donslund.net', foedselsdag= '28071977', interesse= '' Where brugernavn = 'donslund'
Avatar billede neteffect Nybegynder
09. november 2002 - 16:38 #2
by er et reserveret ord, prøv med klammer om

Update medlemmer set fornavn= 'Jeppe', efternavn= 'Donslund', adresse= 'Bygager 15', postnr= '7190', [by]= 'Billund', tlf= '75354628', mobil= '75354628', email= 'jeppe@donslund.net', foedselsdag= '28071977', interesse= '' Where brugernavn = 'donslund'
Avatar billede neteffect Nybegynder
09. november 2002 - 16:39 #3
damn, eagleyey igen! :)
Avatar billede donslund Nybegynder
09. november 2002 - 16:51 #4
Det var da det. Tak.

Men hvorfor må jeg ikke skrive else som jeg gør i denne kode:

<%

if Request.Form("password") = Request.Form("pwdgen") then

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/cgi-bin/database.mdb")
Conn.Open DSN

' SQL sætning opbygges
strSQL = "Update medlemmer set "
strSQL = strSQL & "fornavn= '" & Request.Form("fornavn") & "', "
strSQL = strSQL & "efternavn= '" & Request.Form("efternavn") & "', "
strSQL = strSQL & "adresse= '" & Request.Form("adresse") & "', "
strSQL = strSQL & "postnr= '" & Request.Form("postnr") & "', "
strSQL = strSQL & "city= '" & Request.Form("city") & "', "
strSQL = strSQL & "tlf= '" & Request.Form("tlf") & "', "
strSQL = strSQL & "mobil= '" & Request.Form("mobil") & "', "
strSQL = strSQL & "email= '" & Request.Form("email") & "', "
strSQL = strSQL & "foedselsdag= '" & Request.Form("foedselsdag") & "', "
strSQL = strSQL & "interesse= '" & Request.Form("interesse") & "' "
strSQL = strSQL & "Where brugernavn = '" & Session("brugernavn") & "'"

Response.write strSQL

' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
end if

else

Response.redirect "medindex.asp?inc=4&brugernavn=" & session("brugernavn")


Response.Write "<h1>Databasen er opdateret!</h1>"
' Response.Redirect "medindex.asp?inc=41&brugernavn=" & Session("brugernavn")
%>

Den melder fejl.
Avatar billede eagleeye Praktikant
09. november 2002 - 16:52 #5
Fordi du har en end if lige inden else

if xxx then

else

end if
Avatar billede eagleeye Praktikant
09. november 2002 - 16:53 #6
hvad ønsker du der skal ske i else delen?
Avatar billede donslund Nybegynder
09. november 2002 - 17:15 #7
Hvis password og pwdgen ikke er ens, så skal man sendes til den side der står lige efter else.
Avatar billede eagleeye Praktikant
09. november 2002 - 17:17 #8
Så prøv at rette disse linier:

end if

else

Response.redirect "medindex.asp?inc=4&brugernavn=" & session("brugernavn")


Response.Write "<h1>Databasen er opdateret!</h1>"
' Response.Redirect "medindex.asp?inc=41&brugernavn=" & Session("brugernavn")


Til dette:

else

  Response.redirect "medindex.asp?inc=4&brugernavn=" & session("brugernavn")

end if

Response.Write "<h1>Databasen er opdateret!</h1>"
' Response.Redirect "medindex.asp?inc=41&brugernavn=" & Session("brugernavn")
%>
Avatar billede donslund Nybegynder
09. november 2002 - 18:06 #9
Jo, det hjalp, men hvad så med de felter som brugerne eventuelt lader stå tomme, de laver jo rod i min Update syntax. Hvordan klarer jeg den?
Avatar billede eagleeye Praktikant
09. november 2002 - 18:20 #10
Jeg er ikke helt med??
Avatar billede donslund Nybegynder
10. november 2002 - 11:24 #11
Jeg har en formular hvor brugerne af hjemmesiden kan ændre deres brugeroplysninger. Den virker fint, men kun hvis de udfylder alle felter. Hvis de lader et felt stå tomt, så laver det rod i min Update-SQL-sætning.
Avatar billede eagleeye Praktikant
10. november 2002 - 11:28 #12
Er der ingen af felterne som må være tomme ?
Er de en Access database??  Hvis du vil lillade en kolonne at være tom skal du i Access går ind i tabellen og for den kolonne vælge Tillad Nullængde sættes til Ja.
Avatar billede eagleeye Praktikant
10. november 2002 - 11:29 #13
Hvis der er nogle felter som skal være udfyldt og andre må være tomme kan man lave et javascript som valider formen inden den bliver send.
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
Computerworld tilbyder specialiserede kurser i database-management

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