webForumDet fria alternativet

Syntaxfel i UPDATE-uttryck

23 svar · 283 visningar · startad av aleborg

aleborgMedlem sedan jan. 20013 341 inlägg
#1

Har provat allt nu, ska uppdatera en post, Username är låst i formen så därför använder jag den för "Where".
Har provat olika kombinationer av paranteser mm. får jag inte (operator saknas) så får jag Syntaxfel i UPDATE-uttryck! VAD är fel och varför?

<%
dim Conn
Conn.Execute("UPDATE Master WHERE Username = ("& Request.Form("username") &") SET Foretag = '"& Request.Form("Foretag") &"', Adress = '"& Request.Form("Adress") &"', Tel = '"& Request.Form("Tel") &"', Email = '"& Request.Form("Email") &"', Password = '"& Request.Form("Password") &"'")
%>

Öppning och stängning ligger i include filer!
Har en liknande sida som funkar utan problem men den här vägrar!

aleborgMedlem sedan jan. 20013 341 inlägg
#2

Provade det här med:

<%
dim Conn
dim strForetag, strAdress, strTel, strEmail, strPassword
strForetag = Replace (Request.Form("Foretag"), "'", "''")
strAdress = Replace (Request.Form("Adress"), "'", "''")
strTel = Replace (Request.Form("Tel"), "'", "''")
strEmail = Replace (Request.Form("Email"), "'", "''")
strPassword = Replace (Request.Form("Password"), "'", "''")
Conn.Execute("UPDATE Master WHERE Username = '"& Request.Form("username") &"' SET Foretag = '" & strForetag & "', Adress = '" & strAdress & "', Tel = '" & strTel & "', Email = '" & strEmail & "', Password = '" & strPassword & "'")

%>

Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel i UPDATE-uttryck.
/unisafe/admin/infochangesucc.asp, line 163

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Syntaxen för ett update statement är

  update tabell set ...
   where ...

------------------
essentitia preter non sans multiplicandum

aleborgMedlem sedan jan. 20013 341 inlägg
#4

eehh
Hur menar du då?
Har provat att sätta Where sist men utan resultat!

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Så här:

Conn.Execute("UPDATE Master SET Foretag = '" & strForetag & "', Adress = '" & strAdress & "', Tel = '" & strTel & "', Email = '" & strEmail & "', Password = '" & strPassword & "' WHERE Username = '"& Request.Form("username") & "'")

------------------
essentitia preter non sans multiplicandum

aleborgMedlem sedan jan. 20013 341 inlägg
#6

Har provat det med:

Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel i UPDATE-uttryck.
/unisafe/admin/infochangesucc.asp, line 163

*sliter mig i håret*

aleborgMedlem sedan jan. 20013 341 inlägg
#7

Provade det här med:

<%
dim Conn
dim strForetag, strAdress, strTel, strEmail, strPassword
strForetag = Replace (Request.Form("Foretag"), "'", "''")
strAdress = Replace (Request.Form("Adress"), "'", "''")
strTel = Replace (Request.Form("Tel"), "'", "''")
strEmail = Replace (Request.Form("Email"), "'", "''")
strPassword = Replace (Request.Form("Password"), "'", "''")
Conn.Execute("UPDATE Master SET Foretag = '" & strForetag & "', Adress = '" & strAdress & "', Tel = '" & strTel & "', Email = '" & strEmail & "', Password = '" & strPassword & "' Where ID="& Request.QueryString("ID") &"")
%>

Och i formen på föregående sida:
action=infochangesucc.asp?ID=<%=rs("ID")%>

exakt det här gör jag på en annan sida och det funkar hur bra som helst!

[Redigerat av aleborg den 15 feb 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Innehåller Request.QueryString("ID") något värde? kan du testa att skriva ut det?

------------------
essentitia preter non sans multiplicandum

aleborgMedlem sedan jan. 20013 341 inlägg
#9

japp det innehåller ett värde (för den här posten 32)

LarsGMedlem sedan dec. 200012 464 inlägg
#10

Nej, jag ser inget fel.
Alla datatyper stämmer? Allt utom id är character?
Alla tabellnamn och kolumnnamn stämmer?
´Kan det vara problem med reserverade ord, verkar inte troligt, det enda som är ett ord är ju master.

------------------
essentitia preter non sans multiplicandum

aleborgMedlem sedan jan. 20013 341 inlägg
#11

hmmm??!!
Min form ser ut så här:

      <%
dim Conn
set  rs = conn.Execute("SELECT * FROM Master WHERE Username = '"&Session("Username")&"';")
Do Until rs.EOF 
%>
      <table width=730 border=0 cellspacing=0 cellpadding=0 align=center><tr><td>
            <form name=form method=post action=infochangesucc.asp?ID=<%=rs("ID")%> class=ie>
              <font class=rubr>&Auml;ndra din information!</font><br>
              <font class=ie>Obs du kan inte &auml;ndra namn och anv&auml;ndarnamn: 
              </font><br>
              <br><table width=400 border=0 cellspacing=0 cellpadding=0><tr><td width=139><div align=right class=rubr>Namn:</div></td><td width=261 class="ie">
                    <%=rs("Namn")%>
                  </td></tr><tr><td width=139><div align=right class=rubr>F&ouml;retag:</div></td><td width=261>
                    <input type=text name=foretag value="<%=rs("Foretag")%>">
                  </td></tr><tr><td width=139><div align=right class=rubr>Adress:</div></td><td width=261>
                    <input type=text name=adress value="<%=rs("Adress")%>">
                  </td></tr><tr><td width=139><div align=right class=rubr>Postnr:</div></td><td width=261>
                    <input type=text name=postnr value="<%=rs("Postnr")%>">
                  </td></tr><tr><td width=139><div align=right class=rubr>Ort:</div></td><td width=261>
                    <input type=text name=ort value="<%=rs("Ort")%>">
                  </td></tr><tr><td width=139><div align=right class=rubr>Tel:</div></td><td width=261>
                    <input type=text name=tel value="<%=rs("Tel")%>">
                  </td></tr><tr><td width=139><div align=right class=rubr>Email:</div></td><td width=261>
                    <input type=text name=email value="<%=rs("Email")%>">
                  </td></tr><tr><td width=139><div align=right class=rubr>Anv&auml;ndarnamn:</div></td><td width=261 class="ie">
                    <%=rs("Username")%>
                  </td></tr><tr><td width=139>
                    <div align=right class=rubr>Nytt L&ouml;senord:</div>
                  </td><td width=261>
                    <input type=password name=password value="<%=rs("Password")%>">
                  </td></tr><tr><td width=139>
                    <div align=right class=rubr>Nytt L&ouml;senord igen:</div>
                  </td>
                  <td width=261>&nbsp; </td>
                </tr><tr><td colspan=2><div align=center>
                      <input type=submit name=Submit value=&Auml;ndra>
                    </div></td></tr></table></form></td></tr></table>
      <%
rs.MoveNext
Loop
%>

och infochangesucc.asp
ser ut så här:

<%
dim Conn
dim strForetag, strAdress, strTel, strEmail, strPassword, strPostnr, strOrt
strForetag = Replace (Request.Form("foretag"), "'", "''")
strAdress = Replace (Request.Form("adress"), "'", "''")
strPostnr = Replace (Request.Form("postnr"), "'", "''")
strOrt = Replace (Request.Form("ort"), "'", "''")
strTel = Replace (Request.Form("tel"), "'", "''")
strEmail = Replace (Request.Form("email"), "'", "''")
strPassword = Replace (Request.Form("password"), "'", "''")
Conn.Execute("UPDATE Master SET Foretag = '" & strForetag & "', Adress = '" & strAdress & "', Postnr = '" & strPostnr & "', Ort = '" & strOrt & "', Tel = '" & strTel & "', Email = '" & strEmail & "', Password = '" & strPassword & "' Where ID="& Request.QueryString("ID") &"")
%>

Fel:
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel i UPDATE-uttryck.
/unisafe/admin/infochangesucc.asp, line 165

@ndersMedlem sedan juni 200032 969 inlägg
#12

och om du skriver ut sql-frågan med response.write innan du exekverar den, ser den korrekt ut då :q

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

aleborgMedlem sedan jan. 20013 341 inlägg
#13

Hur menar du att jag ska skriva ut den?

Response.Write Conn.Execute("UPDATE Master SET Foretag = '" & strForetag & "', Adress = '" & strAdress & "', Postnr = '" & strPostnr & "', Ort = '" & strOrt & "', Tel = '" & strTel & "', Email = '" & strEmail & "', Password = '" & strPassword & "' Where ID='"&Request.QueryString("ID")&"'")

eller

Response.Write ("UPDATE Master SET Foretag = '" & strForetag & "', Adress = '" & strAdress & "', Postnr = '" & strPostnr & "', Ort = '" & strOrt & "', Tel = '" & strTel & "', Email = '" & strEmail & "', Password = '" & strPassword & "' Where ID='"&Request.QueryString("ID")&"'")

??

LarsGMedlem sedan dec. 200012 464 inlägg
#14

Han, @nders, menar det senare alternativet.

------------------
essentitia preter non sans multiplicandum

aleborgMedlem sedan jan. 20013 341 inlägg
#15

Då får jag upp det här:

UPDATE Master SET Foretag = 'Uni', Adress = 'Gröndal', Postnr = '117', Ort = 'Stockholm', Tel = '124456', Email = 'a@a.com', Password = '1234' Where ID='32'

@ndersMedlem sedan juni 200032 969 inlägg
#16

är id verkligen av typen text i tabellen? inte en räknare?

om det är räknare får du ju inte ha apostrofer runt värdet.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

aleborgMedlem sedan jan. 20013 341 inlägg
#17

Det är en räknare, tog bort apostroferna, får samma fel, skrev ut det igen:

UPDATE Master SET Foretag = 'Uni', Adress = 'gröndal', Postnr = '117', Ort = 'Stockholm', Tel = '12345', Email = 'a@a.com', Password = '7625' Where ID=32

Kanske ska tillägga att jag inte ändrar alla kolumner i tabellen.

[Redigerat av aleborg den 16 feb 2001]

@ndersMedlem sedan juni 200032 969 inlägg
#18

kan det möjligtvis vara så att master eller password är reserverat i access?

prova att klamra i din fråga så den blir typ så här:

UPDATE [Master] SET [Foretag] = 'Uni', [Adress] = 'gröndal', [Postnr] = '117', [Ort] = 'Stockholm', [Tel] = '12345', = 'a@a.com', [Password] = '7625' Where [ID]=32

lika bra att klamra allt ihop när vi ändå håller på. :)

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

aleborgMedlem sedan jan. 20013 341 inlägg
#19

:) Ehhh, ja just det ja, glömde att password används i session :) man måste vara inloggad med Username och Password.

Hur 17 gör jag då?

@ndersMedlem sedan juni 200032 969 inlägg
#20

ehh, va?

hemskt lessen, men nu fattar jag ingenting...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>

261 ms totalt · 3 externa anrop · v20260731065814-full.30151723
129 ms — hämta forumlista (db)
118 ms — hämta statistik (db)
141 ms — hämta tråd, inlägg och bilagor (db)