A aleborg Medlem sedan jan. 2001 3 341 inlägg Trådstart 15 feb. 2001 17:20 #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!
A aleborg Medlem sedan jan. 2001 3 341 inlägg 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
L LarsG Medlem sedan dec. 2000 12 464 inlägg Syntaxen för ett update statement är
update tabell set ...
where ...
A aleborg Medlem sedan jan. 2001 3 341 inlägg eehh
Hur menar du då?
Har provat att sätta Where sist men utan resultat!
L LarsG Medlem sedan dec. 2000 12 464 inlägg Så här:
Conn.Execute("UPDATE Master SET Foretag = '" & strForetag & "', Adress = '" & strAdress & "', Tel = '" & strTel & "', Email = '" & strEmail & "', Password = '" & strPassword & "' WHERE Username = '"& Request.Form("username") & "'")
A aleborg Medlem sedan jan. 2001 3 341 inlägg 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*
A aleborg Medlem sedan jan. 2001 3 341 inlägg 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]
L LarsG Medlem sedan dec. 2000 12 464 inlägg Innehåller Request.QueryString("ID") något värde? kan du testa att skriva ut det?
A aleborg Medlem sedan jan. 2001 3 341 inlägg japp det innehåller ett värde (för den här posten 32)
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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.
A aleborg Medlem sedan jan. 2001 3 341 inlägg 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>Ändra din information!</font><br>
<font class=ie>Obs du kan inte ändra namn och anvä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ö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ändarnamn:</div></td><td width=261 class="ie">
<%=rs("Username")%>
</td></tr><tr><td width=139>
<div align=right class=rubr>Nytt Lö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ösenord igen:</div>
</td>
<td width=261> </td>
</tr><tr><td colspan=2><div align=center>
<input type=submit name=Submit value=Ä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
@nders Medlem sedan juni 2000 32 967 inlägg och om du skriver ut sql-frågan med response.write innan du exekverar den, ser den korrekt ut då
A aleborg Medlem sedan jan. 2001 3 341 inlägg 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")&"'")
??
L LarsG Medlem sedan dec. 2000 12 464 inlägg Han, @nders, menar det senare alternativet.
A aleborg Medlem sedan jan. 2001 3 341 inlägg 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'
@nders Medlem sedan juni 2000 32 967 inlägg ä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 aleborg Medlem sedan jan. 2001 3 341 inlägg 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]
@nders Medlem sedan juni 2000 32 967 inlägg 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 aleborg Medlem sedan jan. 2001 3 341 inlägg 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å?
@nders Medlem sedan juni 2000 32 967 inlägg ehh, va?
hemskt lessen, men nu fattar jag ingenting...