webForumDet fria alternativet

Syntax error

8 svar · 218 visningar · startad av Hazze

HazzeMedlem sedan jan. 20002 453 inlägg
#1

Håller på och pular lite med ett av alla IDG's script och har fått ett litet problem. Allt fungerar fint tills följande felmeddelande:

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

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

/news/webroot/detail.asp, line 8

Följande kod ska med andra ord innehålla ett fel:

SQL = "SELECT * FROM Nyheter Where Id =" & Request("Id")
SQL = SQL & " Order by Id Desc"
Set RS = Connection.Execute(SQL)

Datum=FormatDateTime(Now,2)

*Nybörjarstatusen är hög* ;)

------------------
Nu tänder vi stjärnan på Söder, den lyser i grönt och i vitt, den flammar för systrar och bröder, och laget som är ditt och mitt... forza bajen!

M@rtinMedlem sedan dec. 19992 085 inlägg
#2

Skriv så här:

SQL = "SELECT * FROM Nyheter Where Id ='" & Request("Id") & "'"

------------------
//M@rtin || Peachy.nu\\

Sue Me!

HazzeMedlem sedan jan. 20002 453 inlägg
#3

Felmeddelandet förvandlades till:

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/news/webroot/detail.asp, line 8

------------------
Nu tänder vi stjärnan på Söder, den lyser i grönt och i vitt, den flammar för systrar och bröder, och laget som är ditt och mitt... forza bajen!

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Det beror nog på att request("id") är odefinierat.

Testa att skriva ut sql-satsen med en response.write innan exekeveringen.

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

HazzeMedlem sedan jan. 20002 453 inlägg
#5

Hängde inte riktigt med där :)

------------------
Nu tänder vi stjärnan på Söder, den lyser i grönt och i vitt, den flammar för systrar och bröder, och laget som är ditt och mitt... forza bajen!

LarsGMedlem sedan dec. 200012 464 inlägg
#6
SQL = "SELECT * FROM Nyheter Where Id =" & Request("Id")
SQL = SQL & " Order by Id Desc" 
response.write sql
response.end
'Set RS = Connection.Execute(SQL)

Då får man se hur SQL-en ser ut och då är det lättare att felsöka.

Jag är ganska säker på att id inte innehåller något och då får man titta på den sida som du kommer i från och kolla upp om ID ligger med i addressen eller inte.

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

HazzeMedlem sedan jan. 20002 453 inlägg
#7

Tack för hjälpen. Nu blir det dock ett annat fel. Får endast upp följande text:

SELECT * FROM Nyheter Where Id = Order by Id Desc

------------------
Nu tänder vi stjärnan på Söder, den lyser i grönt och i vitt, den flammar för systrar och bröder, och laget som är ditt och mitt... forza bajen!

@ndersMedlem sedan juni 200032 969 inlägg
#8

precis. request("id") är tom. jag föreslår att du kollar upp namnet på formulärfältet / querystringen.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

LarsGMedlem sedan dec. 200012 464 inlägg
#9

Jo det var precis vad jag förväntade mig. Dvs att request("id") returnerar en tom sträng. Om det hade varit riktigt så skulle det stått t.ex

SELECT * FROM Nyheter Where Id = 4711 Order by Id Desc

Som sagt får du titta på den sidan där man anropar denna sida. Förmodligen så står det nåt som liknar

   <FORM METHOD="GET" >

   <A HREF="xxx.asp"> Käck text </A>

där xxx är den sida där du har din select.

Det som saknas (gissar jag) är att man inte har med ID i urlen.

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

126 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)