Avatar billede mbw Nybegynder
20. oktober 2000 - 11:20 Der er 13 kommentarer og
1 løsning

SQL Sætning

Jeg har et problem med denne sætning.

-----------------------------------------
Set RS = Conn.Execute(\"SELECT * FROM count ORDER BY ID DESC\")
-----------------------------------------

Når jeg bruger sætningen lokalt med Access er der ingen problemer men når jeg bruger den på Infopaq\'s MySQL så kommer denne fejl.

-----------------------------------------
ADODB.Recordset.1 error \'80004005\'

You have an error in your SQL syntax near \'10 * FROM Count ORDER BY ID DESC\' at line 1

/__IQ_BAR__/password/admin.asp, line 377
Avatar billede powell Nybegynder
20. oktober 2000 - 11:40 #1
Det lyder til at db\'en er brugerdefineret.
Avatar billede ldanielsen Nybegynder
20. oktober 2000 - 11:45 #2
Kunne det være fordi dit tablenavn er et reserveret ord Prøv med: \"... FROM [Count] ...\" Syntaks der virker i MSSQL.

Jeg havde samme problem med en adresseliste i Access, som jeg flyttede til MSSQL (min først erfaring med den), og jeg var fortvivlet, indtil jeg fandt ud af at kolonnen \"By\" var problemet.
Avatar billede mbw Nybegynder
20. oktober 2000 - 13:33 #3
powell -> brugerdefineret ? ? ?
Avatar billede mbw Nybegynder
20. oktober 2000 - 13:56 #4
Undskyld jeg havde skrevet den forkerte linie, her er den rigtige:

Set RS = Conn.Execute(\"SELECT TOP 10 * FROM [Count] ORDER BY ID DESC\")
Avatar billede ldanielsen Nybegynder
20. oktober 2000 - 14:14 #5
Og virker det så nu???
Avatar billede mbw Nybegynder
20. oktober 2000 - 15:20 #6
Nej, den kommer med den samme fejl.
Ved du om man kan man bruge sætningen:

------------
top 10 *
------------

i MySQL
Avatar billede ldanielsen Nybegynder
20. oktober 2000 - 15:43 #7
nej, jeg bruger MSSQL, undskyld jeg blander mig :-)

Men det er da vist ANSI syntaks.

Du har vel prøvet TOP(10)?
eller uden *, men med feltnavne i stedet?

Ellers må du jo bare tage hele tabellen, men den er måske STOR?
Avatar billede mbw Nybegynder
20. oktober 2000 - 22:18 #8
Nej det havde jeg ikke, jeg har prøvet det nu men det virkede ikke.
Jeg vil helst ikke have hele tabellen med da den er nogenlunde stor.
Avatar billede mtilsted Nybegynder
21. oktober 2000 - 01:23 #9
Da count er et reservered sql ord kan du ikke have en tabel der ogsaa hedder det.
Avatar billede mbw Nybegynder
21. oktober 2000 - 13:58 #10
mtilsted -> Det kan godt være at count er et reserveret ord men sætningen virker hvis jeg skriver:

-------------------------------------
Select * From [Count] Order By ID Desc
-------------------------------------

Istedet for:

-------------------------------------
Select Top (10) * From [Count] Order By ID Desc
-------------------------------------

Det eneste problem er at jeg kun vil have de ti nyeste records.
Avatar billede wetdog Nybegynder
23. oktober 2000 - 18:31 #11
prøv med :

Select Top (10) * From [Count] Order By ID Desc limit 0,10
Avatar billede fmadse1 Nybegynder
25. oktober 2000 - 09:30 #12
Jeg sidder lidt og leger med mssql 6.5, og den der \"top 10 *\" giver vældige problemer. Not recognized word \"top\" og så videre.
Avatar billede kasseper Nybegynder
25. oktober 2000 - 09:41 #13
top er ikke defineret i SQL 6.5.
Avatar billede mbw Nybegynder
25. oktober 2000 - 10:26 #14
Det virker hvis man skriver:

-----------------------------------------------
SELECT * FROM count ORDER BY ID DESC LIMIT 0,10
-----------------------------------------------

Så mange tak til wetdog, også tak til fmadse1 og kasseper.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester