H Hazze Medlem sedan jan. 2000 2 453 inlägg Trådstart 18 mars 2001 17:46 #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*
M M@rtin Medlem sedan dec. 1999 2 085 inlägg Skriv så här:
SQL = "SELECT * FROM Nyheter Where Id ='" & Request("Id") & "'"
H Hazze Medlem sedan jan. 2000 2 453 inlägg 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
L LarsG Medlem sedan dec. 2000 12 464 inlägg Det beror nog på att request("id") är odefinierat.
Testa att skriva ut sql-satsen med en response.write innan exekeveringen.
H Hazze Medlem sedan jan. 2000 2 453 inlägg Hängde inte riktigt med där
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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.
H Hazze Medlem sedan jan. 2000 2 453 inlägg 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
@nders Medlem sedan juni 2000 32 967 inlägg precis. request("id") är tom. jag föreslår att du kollar upp namnet på formulärfältet / querystringen.
L LarsG Medlem sedan dec. 2000 12 464 inlägg 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.