webForumDet fria alternativet

Extrahera senast registrerade post

6 svar · 314 visningar · startad av lillebror

lillebrorMedlem sedan apr. 20041 687 inlägg
#1

Finns det någon som ser felet som jag inte lyckats se efter mycket testande. I mitt tycke skiljer sig inte denna sats speciellt mycket från de andra SQL-satser jag skrivit. Har dock gått bet på denna!

SqlListLastPost = "SELECT Subject, Author FROM t_threads WHERE ANSWERID <> 0 ORDER BY ID DESC LIMIT 1"

När jag öppnar sidan får jag följande felkod...

**Microsoft JET Database Engine error '80040e14'
Syntax error in ORDER BY clause.

/forum.asp, line 83**

Någon idé?

JosefMedlem sedan mars 20023 123 inlägg
#2

DBMS?

aasahMedlem sedan mars 20033 451 inlägg
#3

Re: Extrahera senast registrerade post

lillebror skrev:

...
SqlListLastPost = "SELECT Subject, Author FROM t_threads
WHERE ANSWERID <> 0 ORDER BY ID DESC LIMIT 1"

När jag öppnar sidan får jag följande felkod...

**Microsoft JET Database Engine error '80040e14'
Syntax error in ORDER BY clause.

/forum.asp, line 83**

Någon idé?

Ja. Du kan inte ordna ditt svar efter en kolumn du inte plockar ut. Om du vill ordna efter ID, så måste den finnas med i SELECT-delen. Alltså:

SELECT Subject, Author, ID
FROM t_threads
WHERE ANSWERID <> 0
ORDER BY ID DESC LIMIT 1

LarsGMedlem sedan dec. 200012 465 inlägg
#4

limit finns inte i Access. Dessutom så skall du inte använda den metoden överhuvudtaget. Använd

select @@identity

Ja. Du kan inte ordna ditt svar efter en kolumn du inte plockar ut.

Jo.

lillebrorMedlem sedan apr. 20041 687 inlägg
#5

Hur skulle den nya SQL-satsen se ut med select @@identity? Det jag vill åstadkomma är att plocka ut det sist inskrivna inlägget i databasen antingen med hjälp av datumet eller id-kolumnen.

LarsGMedlem sedan dec. 200012 465 inlägg
#6

Jag kanske missförstod frågan lite. Jag troidde att du hade en räknare och ville få reda på dess värde efter en insert.

Om du vill ha tag i posten med högst datum så får du använda frågan

select top 1 * from tabell order by datum desc
lillebrorMedlem sedan apr. 20041 687 inlägg
#7

Denna SQL-sats (Access) löste mitt problem...

SqlListLastPost = "SELECT top 1 * FROM t_threads WHERE ANSWERID = 0 ORDER BY ID DESC"

:)

Genererad på 379 ms · cache AV · v20260730165559-full.f96bc7eb