Avatar billede jannick Nybegynder
19. december 1999 - 18:46 Der er 5 kommentarer og
1 løsning

Opdatering

Hej
Har før forsøgt med dette spørgsmål på eksperten, men da jeg blev syg havde jeg ikke mulighed for at følge op på det. Det jeg gerne vil er at opdatere nogle data der står i databasen i forvejen.
Den side der kalder opdateringskoden hedder:
<form action="bestilling.asp?mode=Godkendr" method="POST">
    <table cellspacing=0 style="border: 1px solid rgb(0,0,0)" bgcolor="#84A068">
        <tr><td width="40">Fornavn: </td><td width="150"><input type="text" size="30" name="fornavn"></td></tr>
        <tr><td>Efternavn:</td><td><input type="text" size="30" name="efternavn"></td></tr>
        <tr><td>Adresse: </td><td><input type="text" size="30" name="adresse"></td></tr>
        <tr><td>Post nr:</td><td><input type="text" size="4" name="postnr"></td></tr>      <tr>
        <tr><td>By:</td><td><input type="text" size="30" name="City"></td></tr>
        <tr><td>E-mail:</td><td><input type="text" size="30" name="email"></td></tr>
        <tr><td>Telefon nr: </td><td><input type="text" size="30" name="telefon"></td></tr>        <tr>
        <tr><td><input type="submit" name="Action" value="Ret"></td><td>&nbsp;</td></tr>
    </table>
</form>

Den kode der modtager kaldet hedder:

Oplys = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/data/kunder.mdb")
Set Forbindelse = Server.CreateObject("ADODB.Connection")
Forbindelse.Open Oplys
if len(Request.Form("Email")) < 1 then response.redirect("bestilling.asp?mode=fejlmrk")
if len(request.form("Fornavn")) < 1 then response.redirect("bestilling.asp?mode=fejlmrk")
if len(request.Form("Efternavn")) < 1 then response.redirect("bestilling.asp?mode=fejlmrk")
if len(request.Form("Adresse")) < 1 then response.redirect("bestilling.asp?mode=fejlmrk")
if len(request.Form("Postnr")) < 1 then response.redirect("bestilling.asp?mode=fejlmrk")
if len(request.Form("City")) < 1 then response.redirect("bestilling.asp?mode=fejlmrk")
if len(request.Form("Telefon")) < 1 then response.redirect("bestilling.asp?mode=fejlmrk")

Strsql = "UPDATE Kunder SET Fornavn='" & Request.Form("Fornavn") & "',Efternavn='" & Request.Form("Efternavn") & "',Adresse='" & Request.Form("Adresse") & "',Postnr='" & Request.Form("Postnr") & "',City='" & Request.Form("City") & "',Telefon='" & Request.Form("Telefon") & "',email'" & Request.Form("email") & "' WHERE Email ='" & Request.Form("Email") & "'"
Set rs = Forbindelse.Execute(StrSql)

Når jeg kører det kommer fejlen:

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i UPDATE-sætningen.

/bestilling.asp, linje 117

Linie 117 er: Set rs = Forbindelse.Execute(StrSql)

Hvad kan der være galt?
Avatar billede baunsgaard Nybegynder
19. december 1999 - 18:58 #1
Du mangler et = (lig med) efter email feltet...
Avatar billede s Nybegynder
19. december 1999 - 19:02 #2
Det er heller ikke normalt at skrive "set rs = forbindelse.execute( Sql )" når man kører en update-sætning.

Man plejer bare at skrive "forbindelse.execute( Sql )
Avatar billede baunsgaard Nybegynder
19. december 1999 - 19:08 #3
s>> Det er korrekt, men det giver vel ikke en syntaksfejl :-)
Avatar billede jannick Nybegynder
19. december 1999 - 23:45 #4
Øh, jeg kan ikke lige se hvor det med (lig med) er. Det er en lidt rodet kode. I øvrigt. For ikke at få fejl ved at folk ikke indtaster data i alle felter, bruger jeg en len. Er der en smartere måde.
Avatar billede erikjacobsen Ekspert
20. december 1999 - 06:28 #5
"',email='" & Request.Form("email")
Avatar billede s Nybegynder
20. december 1999 - 14:50 #6
jannick>>
Jeg plejer at bruge følgende:

for each x in request.form
if request.form(x) = "" then
response.redirect "bestilling.asp?mode=fejlmrk"
end if
next
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