webForumDet fria alternativet

Vad är fel?

ASP

15 svar · 271 visningar · startad av Thompa__85

Medlem sedan aug. 2002600 inlägg
Frågan#1

Tjenare!
Har fått lite problem med en kod här...

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i INSERT INTO-uttryck.
/Webtipsen/spel/nyheter/news.asp, line 138

rad 138:

Connect.Execute(SQL)

och SQL satsen:

SQL = "INSERT INTO Fusk " & _
	"(Titel, Huvud1, Huvud2. Huvud3, Body1. Body2, Body3, Source, Datum, Fet) " & _
	"VALUES('"& Request.Form("Titel") &"','"& Request.Form("Fet") &"','"& Request.Form("Source") &"','"& Request.Form("Datum") &"','"& Request.Form("Body2") &"','"& Request.Form("Huvud3") &"','"& Request.Form("Huvud2") &"', '"& Request.Form("Huvud1") &"','"& Request.Form("Body3") &"','"& Request.Form("Body1") &"')"

		Connect.Execute(SQL)
	ElseIf Request.Querystring("Fusk") <> "" Then
		SQL = "UPDATE Fusk SET Titel = '"&Request.Form("Titel")&"', Fet = '"&Request.Form("Fet")&"', Huvud1 = '"&Request.Form("Huvud1")&"', Huvud2 = '"&Request.Form("Huvud2")&"', Huvud3 = '"&Request.Form("Huvud3")&"', Body1 = '"&Request.Form("Body1")&"', Body2 = '"&Request.Form("Body2")&"', Body3 = '"&Request.Form("Body3")&"', Datum = '"&Request.Form("Datum")&"', Source = '"&Request.Form("Source")&"' WHERE ID = "& Request.Querystring("Fusk")
		Connect.Execute(SQL) 
	End If

	Response.Redirect "news.asp?visa=admin"
End If
%>

Jag fattar inte ens vad som e fel ;)
Nån som vet vad jag gjort för fel?

Bifogade filen också.. tack på förhand

Medlem sedan aug. 20021 752 inlägg
#2

I din Insert sats så har du fel,

Huvud1, Huvud2. Huvud3, Body1. Body2, Body3

ska väll vara

Huvud1, Huvud2, Huvud3, Body1, Body2, Body3

du har 2 punkter där som borde vara komma

/Viktor

Medlem sedan aug. 2002600 inlägg
#3

Viktor skrev:

I din Insert sats så har du fel,

Huvud1, Huvud2. Huvud3, Body1. Body2, Body3

ska väll vara

Huvud1, Huvud2, Huvud3, Body1, Body2, Body3

du har 2 punkter där som borde vara komma

/Viktor

Tack Viktor! men felet består :S

Medlem sedan dec. 200012 464 inlägg
#4

Skriv ut innehållet i variabeln SQL med response.write och visa resultatet.

response.write "Debug:" & sql
response.end
Medlem sedan aug. 20021 752 inlägg
#5

Då var det inte första bästa då :)

Som det ser ut så skriver du in dina VALUES i en annan ordning än vad du borde göra, datum kommer inte i fältet datum utan kommer hamna i fältet "huvud3".
Om fältet datum är av typen datum/tid så ska du skriva det på ett annat sätt, inte som en sträng. För info om hur du ska skriva så kan du söka här på forumet, för jag vet inte riktigt :)

/Viktor

Medlem sedan aug. 2002600 inlägg
#6

LarsG skrev:

Skriv ut innehållet i variabeln SQL med response.write och visa resultatet.

response.write "Debug:" & sql
response.end

ursäkta? hehe... nybörjare på sånt här...

Medlem sedan aug. 2002600 inlägg
#7

Viktor skrev:

Då var det inte första bästa då :)

Som det ser ut så skriver du in dina VALUES i en annan ordning än vad du borde göra, datum kommer inte i fältet datum utan kommer hamna i fältet "huvud3".
Om fältet datum är av typen datum/tid så ska du skriva det på ett annat sätt, inte som en sträng. För info om hur du ska skriva så kan du söka här på forumet, för jag vet inte riktigt :)

/Viktor

Fixat.. nu står alla i rätt ordning.. men men.. samma problem e kvar :S

Medlem sedan dec. 200012 464 inlägg
#8
SQL = "INSERT INTO Fusk " & _
	"(Titel, Fet, Source,Datum,Body2,Huvud3,Huvud2, Huvud1, Body3, Body1) " & _
	"VALUES('"& Request.Form("Titel") &"','"& Request.Form("Fet") &"','"& Request.Form("Source") &"',#"& Request.Form("Datum") &"#,'"& Request.Form("Body2") &"','"& Request.Form("Huvud3") &"','"& Request.Form("Huvud2") &"', '"& Request.Form("Huvud1") &"','"& Request.Form("Body3") &"','"& Request.Form("Body1") &"')"
response.write "Debug: " & sql
response.end
Connect.Execute SQL

Om man ser hur strängen ser ut efter det att man har substituerat in variabelvärden så är det lättare att se vad som är fel. Och som sagt, så är det bra om det kolumnerna kommer i samma ordning som värdena. Datumvärden omges av # men det kan inte vara hela orsaken då det skulle ge ett annat fel.

Medlem sedan aug. 2002600 inlägg
#9

hmmm

hmmm.-.. har nu lagt in
response.write "Debug: " & sql
response.end

Fixat allt i ordning osv...

Och min kod ser nu ut så här:

SQL = "INSERT INTO Fusk " & _
	"(Titel, Fet, Huvud1, Body1, Huvud2, Body2, Huvud3, Body3, Source, Datum ) " & _
	"VALUES('"& Request.Form("Titel") &"','"& Request.Form("Fet") &"','"& Request.Form("Huvud1") &"','"& Request.Form("Body1") &"','"& Request.Form("Huvud2") &"','"& Request.Form("Body2") &"','"& Request.Form("Huvud3") &"', '"& Request.Form("Body3") &"','"& Request.Form("Source") &"','"& Request.Form("Datum") &"')"
response.write "Debug: " & sql
response.end

		Connect.Execute(SQL)
	ElseIf Request.Querystring("Fusk") <> "" Then
		SQL = "UPDATE Fusk SET Titel = '"&Request.Form("Titel")&"', Fet = '"&Request.Form("Fet")&"', Huvud1 = '"&Request.Form("Huvud1")&"', Body1 = '"&Request.Form("Body1")&"', Huvud2 = '"&Request.Form("Huvud2")&"', Body2 = '"&Request.Form("Body2")&"', Huvud3 = '"&Request.Form("Huvud3")&"', Body3 = '"&Request.Form("Body3")&"', Source = '"&Request.Form("Source")&"', Datum = '"&Request.Form("Datum")&"' WHERE ID = "& Request.Querystring("Fusk")
		Connect.Execute(SQL) 
	End If

	Response.Redirect "news.asp?visa=admin"
End If
%>

Men får fortfarande samma felmeddelande :/
vad kan de vara?

Medlem sedan aug. 20021 752 inlägg
#10

Du måste köra den och kopiera in vad som skrivs ut på sidan efter "Debug:" och posta det här på forumet :)

/Viktor

Medlem sedan aug. 2002600 inlägg
#11

Viktor skrev:

Du måste köra den och kopiera in vad som skrivs ut på sidan efter "Debug:" och posta det här på forumet :)

/Viktor

sorry.. men förstår inte vad jag ska skriva.. :OO

Medlem sedan aug. 20021 752 inlägg
#12

Kör din sida, så får du ett felmedelande. Men du borde också (ovanför fel medelandet) få "Debug: XXXXXX", det är den texten som du ska kopiera in här på forumet.

/Viktor

Medlem sedan aug. 2002600 inlägg
#13

Viktor skrev:

Kör din sida, så får du ett felmedelande. Men du borde också (ovanför fel medelandet) få "Debug: XXXXXX", det är den texten som du ska kopiera in här på forumet.

/Viktor

Denna?
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i INSERT INTO-uttryck.
/Webtipsen/spel/nyheter/news.asp, line 138

Medlem sedan aug. 20021 752 inlägg
#14

ok, kommentera bort "Connect.Execute(SQL)" och kör sidan, då borde du se texten debug.

/Viktor

Medlem sedan aug. 2002600 inlägg
#15

Viktor skrev:

ok, kommentera bort "Connect.Execute(SQL)" och kör sidan, då borde du se texten debug.

/Viktor

nej tyvärr.. får ingen ny debug text :(

Medlem sedan mars 20015 287 inlägg
#16

Har du verkligen kommenterat bort Connect.Execute(SQL)" då?
Samt lagt till utskriften av sql-satsen?

276 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)