webForumDet fria alternativet

fel när jag ska göra update

Databaser & SQL

11 svar · 270 visningar · startad av SONICdust

Medlem sedan nov. 2003196 inlägg
Frågan#1

Ska uppdatera ett gäastboks inlägg med ett svar. Får det inte att funka och tittat mig blin på koden...

Fel meddelndet är: Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'gId ='.

/www/admin/gastbokSvar.asp, line 47

<%
		SQL = "SELECT * FROM tblGastbok WHERE gId =" & Request.Querystring("gId")
		objConnect.Open(ConnString)
		objRS.Open(SQL), ConnString
		
		If Request.Form("svar") = "" then
		
		Response.Write "Namn: " & (objRS("fldNamn")) & "<br />"
		Response.Write "Namn: " & (objRS("fldEpost")) & "<br />"
		Response.Write "Inl&auml;gg: " & (objRS("fldInlagg")) & "<br /><br />"
		
		%>
			<form action="gastbokSvar.asp" method="post">
				<input name="gId" type="hidden" value="<%=objRS("gId")%>" />
				<strong>Bhopa svar:</strong><br>
				<textarea name="svar" class="bhopaVan"><%=objRS("fldSvar")%></textarea><br />
				<input name="Skicka" type="submit" value="Svara" id="skicka" style="cursor: hand; width: 55px; font-size: 11px;" />
			</form>
		<%
			Else
				objConnect.Open(ConnString)
				objConnect.Execute("UPDATE tblGastbok SET fldSvar = '" & (Request.Form("svar")) & "', WHERE gId = " & Request.Form("gId") &";")
				objConnect.Close
			Set objConnect	= Nothing
				Response.Redirect("../default.asp?id=7")
		
		End if
		
		objRS.Close
		%>
Medlem sedan juli 20015 107 inlägg
#2

Vad har du för Typ på kolumnen gID i databasen! är det Tal? Räknare? PM? Text?

Medlem sedan nov. 2003196 inlägg
#3

det gId är Räknare och fldSvar är PM det är en Access databas som jag använder

Medlem sedan juni 20015 009 inlägg
#4
("UPDATE tblGastbok SET fldSvar = '" & (Request.Form("svar")) & "', WHERE gId = '" & Request.Form("gId") &"';")

Inte så insatt i asp men jag tror du har missat 2 ' på Where-delen.

Medlem sedan maj 20018 027 inlägg
#5

Qimen skrev:

("UPDATE tblGastbok SET fldSvar = '" & (Request.Form("svar")) & "', WHERE gId = '" & Request.Form("gId") &"';")

Inte så insatt i asp men jag tror du har missat 2 ' på Where-delen.

Men dessa enkelfnuttar använder man ju bara för textsträngar. Inte för heltal, vilket är vad han troligen ska ha i detta fält. Själv skulle jag kolla om Request.Form("gId") verkligen returnerar ett heltal.

Medlem sedan mars 20025 907 inlägg
#6
objConnect.Execute("UPDATE tblGastbok SET fldSvar = '" & (Request.Form("svar")) & "' WHERE gId = " & Request.Form("gId") &";")

Numeriska värden ska inte ha några ' runt sig, däremot hade du ett kommatecken precis före where i din sql-fråga. Är du säker på att Request.Form("gId") innehåller något värde förresten?

Medlem sedan juni 20015 009 inlägg
#7

Typiskt asp :OO :p

Medlem sedan nov. 2003196 inlägg
#8

jag får ut värde i "gId" i fältet när jag kan svara på inlägget, ska kolla om jag får med det sen när jag ska skicka in svaret

Medlem sedan mars 20025 907 inlägg
#9

Qimen skrev:

Typiskt asp :OO :p

SQL-satserna har iof inget med asp/php att göra. Du ska inte ha ' runt numeriska värden i php heller. :p

Medlem sedan juni 200032 967 inlägg
#10

Qimen skrev:

Typiskt asp :OO :p

Åh! Så i PHP använder man apostrofer runt numeriska fältvärden? Visste inte det... :o
Din okunskap är dock ganska ovidkommande för topic, så vi låter det vara. ;)

- - - - - - - - -

SONICdust; det första man bör göra när man har problem med en SQL-fråga i asp (eller vilken miljö det nu än månde vara) är att skriva ut SQL-frågan istället för att exekvera den. Det blir lättare att debugga, och man ser om det saknas värden, etc.

SQL = "SELECT * FROM tblGastbok WHERE gId =" & Request.Querystring("gId")
Response.write SQL
Response.End

Mvh

Medlem sedan juni 20015 009 inlägg
#11

Klart jag vet att man inte har apostrofer runt numeriska fältvärden, inte det jag menade. Det jag menade är att i php har man iaf både ' och ", så jag trodde det var något speciellt för asp. ;)

Medlem sedan nov. 2003196 inlägg
#12

Nu funkar det i alla fall gjorde om det till två filer, jag måste ha klantat till det i if satserna...

men det var nog lite fel i SQL:en också. Tack för alla hjälp

265 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)