Avatar billede stivert.dk Nybegynder
17. april 2000 - 13:19 Der er 23 kommentarer og
3 løsninger

Fejl i script...

Jeg har ingen erfaring med ASP, men jeg prøvede aligevel...

Hvorfor får jeg denne fejl :
---------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

/test/subopdater.asp, line 10
-------------------------------
I dette script :
--------------------------------
<%


Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("sub.mdb")
strSQL = "UPDATE seb SET seb=" & request("seb")
strSQL = strSQL & ", pwd=" & request("pwd")
strSQL = strSQL & ", email=" & request("email")
strSQL = strSQL & " WHERE Id=" & request("id")
Set rs = myConn.Execute(strSQL)

%>
<form method="POST" action="subopdater.asp">
  <p>Brugernavn : <input type="text" name="brugernavn" size="20"> password : <input type="text" name="password" size="20"></p>
  <p><input type="submit" value="Send" name="login"><input type="reset" value="Nulstil" name="B2"></p>
</form>
<% if request.Form("password") = "pwd" And request.Form("username") = "seb" then %>



<form method="POST" action="subopdater.asp">
<p align="center">&nbsp;</p>
 
  <div align="center">
    <center>
    <table border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td align="center">
          <p align="center"><font face="Tahoma">Brugernavn : </font></td>
        <td>
          <p align="center"><font face="Tahoma"><input type="text" name="seb" size="20" value=<% Request("seb")%> ></font></td>
      </tr>
      <tr>
        <td align="center">
          <p align="center"><font face="Tahoma">Adgangskode : </font></td>
        <td>
          <p align="center"><font face="Tahoma"><input type="text" name="pwd" value=<% request("pwd") %> size="20"></font></td>
      </tr>
      <tr>
        <td>
          <p align="center"><font face="Tahoma">Email : </font></td>
        <td>
          <p align="center"><font face="Tahoma"><input type="text" name="email" value=<% Request("email") %> size="20"></font></td>
      </tr>
    </table>
    </center>
  </div>
  <p align="center">&nbsp;</p>
  <p align="center"><input type="submit" value="Opdater Oplysninger" name="opdater"></p>
</form>
<% end if %>

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

Håber nogen kan hjælpe mig færdig...
Avatar billede erikjacobsen Ekspert
17. april 2000 - 13:23 #1
Du skal have stroffer omkring dine tekster (ikke dine tal, jeg regner med ID er et tal

strSQL = "UPDATE seb SET seb='" & request("seb") & "'"
strSQL = strSQL & ", pwd='" & request("pwd") & "'"
strSQL = strSQL & ", email='" & request("email") & "'"
strSQL = strSQL & " WHERE Id=" & request("id")
Avatar billede fumes Nybegynder
17. april 2000 - 13:26 #2
Du skal huske ' når du skal update en tekststreng ligesom dette:

strSQL = "UPDATE seb SET seb='" & request("seb") & "'"
strSQL = strSQL & ", pwd='" & request("pwd") & "'"
strSQL = strSQL & ", email='" & request("email") & "'"
strSQL = strSQL & " WHERE Id=" & request("id")
Set rs = myConn.Execute(strSQL)

Desuden bruger jeg selv - request.form("ishdf") når jeg requester, men dit burde virke alligevel - prøv iøvrigt at skrive dit SQl statement ud med response.write(strSQL) - det gør det noget nemmere at overskue..
Avatar billede fumes Nybegynder
17. april 2000 - 13:26 #3
Mit skulle jo have været et svar..
Avatar billede sone Nybegynder
17. april 2000 - 13:30 #4
Du må vist ikke have et felt med samme navn som tabellen (seb)
Avatar billede erikjacobsen Ekspert
17. april 2000 - 13:34 #5
Nu skal jeg ikke lige gøre mig til ekspert på Access, men i standard SQL må man gerne
have et feltnavn, der hedder det samme som tabellen. Man må derimod ikke umiddelbart
have et feltnavn, der hedder det samme som et reserveret ord.
Avatar billede sone Nybegynder
17. april 2000 - 13:38 #6
erikjacobsen: Du har sikkert ret...
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:08 #7
Er der ikke en som kan lave et færdigt script til mig som virker ??

Min database hedder sub.mdb og tabellen hedder seb og de andre felter kan i se i det jeg skriver øverst på siden..
Avatar billede erikjacobsen Ekspert
17. april 2000 - 14:13 #8
Ikke mig, stivert.dk ... vel? Men fik du svar på dette spørgsmål?
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:14 #9
Nu hvor jeg har ændret det i siger der, så får jeg denne fejl...

-------------------------------------
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Id='.

/test/subopdater.asp, line 11
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:16 #10
Erik.. Jah men det virker ikk...
Avatar billede sone Nybegynder
17. april 2000 - 14:21 #11
Prøve at udskrive strSQL, så kan du måske selv se fejlen
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:24 #12
Sone... Hvordan gør man det ???
Avatar billede sone Nybegynder
17. april 2000 - 14:25 #13
response.write(strSQL & "<BR>")
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:29 #14
Ska jeg skrive det før linje 11 eller hva ??
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:34 #15
Den kommer bare med samme fejl... :o(
Avatar billede sone Nybegynder
17. april 2000 - 14:38 #16
Ja - og prøv at vise os den SQL som bliver udskrevet.
Avatar billede erikjacobsen Ekspert
17. april 2000 - 14:46 #17
Er din ID en tekst eller et tal i din database?
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:48 #18
Der bliver ikke noget udskrevet.. Der kommer bare den samme fejl...
Avatar billede sone Nybegynder
17. april 2000 - 14:49 #19
Du skal udskrive før linie 11...
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:50 #20
Mine ID er tal...
Avatar billede erikjacobsen Ekspert
17. april 2000 - 14:51 #21
Så er din request("id") tom
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:53 #22
Er den tom ? I min database er der 80 forskellige poster med forskellige id.. ?!?!!
Avatar billede erikjacobsen Ekspert
17. april 2000 - 14:55 #23
Ikke feltet i din database, feltet "id" fra din form.
Avatar billede stivert.dk Nybegynder
17. april 2000 - 14:59 #24
Det fatter jeg ikk noget af... Den skulle jo selv vælge det id hvor password og brugernavn passer sammen.. !?!?! Har jeg lavet det helt forkert ?!?!!
Avatar billede erikjacobsen Ekspert
17. april 2000 - 15:02 #25
request("id") er tom fordi der ikke er et felt på din form, der hedder "id"  -  så vidt
jeg lige kan se!
Avatar billede sone Nybegynder
17. april 2000 - 15:02 #26
Du laver en request("id") for at hente id'et - du har bare ikke noget felt der hedder id i HTML - derfor er id tom i  SQL.
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