Avatar billede anderseiler Nybegynder
23. februar 2007 - 12:15 Der er 9 kommentarer og
1 løsning

Fejl i SQL sætning - tror jeg

Hej

Jeg har lidt et problem med min asp kode. Det er en funktion. I får lige det uddrag, som ikke virker:

        if ucase(strOrder) = "DESC" then
          strSQL = strSQL & " ORDER BY " & strOrderByField & " DESC"
        elseif ucase(strOrder) = "DESC LIMIT 2" then
          strSQL = strSQL & " ORDER BY " & strOrderByField & " DESC LIMIT 2 "
        else
          strSQL = strSQL & " ORDER BY " & strOrderByField & " ASC"
        end if

Det er min elseif, som er true. Men sådan som den ser ud ovenfor, så får jeg følgende fejl:

Microsoft VBScript runtime error '800a01a8'

Object required: 'openSelect(...)'

/System/Nyheder/small_news.asp, line 65


Hvis den ser sådan her ud: strSQL = strSQL & " ORDER BY " & strOrderByField & " DESC"  så er der ingen fejl.

Hvorfor det? Forstår jeg ikke lige :)

Mvh
Anders

ps. - hav tålmodighed med mig. Jeg er helt ny til asp :)
Avatar billede kalp Novice
23. februar 2007 - 12:19 #1
LIMIT 2 findes ikke hvis det er access db..

så skal du lave en

SELECT TOP 2 FROM din tabel
Avatar billede kalp Novice
23. februar 2007 - 12:20 #2
SELECT TOP 2 kolonner FROM din tabel ORDER BY xxx DESC
Avatar billede anderseiler Nybegynder
23. februar 2007 - 12:23 #3
haha det forklarer en hel del :) Det vidste jeg ikke engang :)

Men skal den så hedde: SELECT * TOP 2 FROM tabel  eller:    SELECT TOP 2 * FROM tabel?

Jeg har lige lavet en SELECT TOP 2 * FROM.....  og den henter 3 poster ud ?!
Avatar billede anderseiler Nybegynder
23. februar 2007 - 12:23 #4
du var lige en tak hurtigere end mig ;) prøver lige igen :)
Avatar billede anderseiler Nybegynder
23. februar 2007 - 12:25 #5
Hm så kommer den med en

Microsoft VBScript runtime error '800a01a8'

Object required: '[undefined]'

/System/Nyheder/small_news.asp, line 16

hvordan kan det være?? :)
Avatar billede anderseiler Nybegynder
23. februar 2007 - 12:27 #6
Ork jeg er dum (og lige for grøn).

Nå - fejlen skyldes, at jeg skrev * TOP 2 i stedet for TOP 2 *. Men den henter stadig 3 indlæg ud. warum das? :)
Avatar billede michael_stim Ekspert
23. februar 2007 - 12:31 #7
Hvis du f ex har:
1
2
2
3
4

Vil top 2 give 3 rækker :(
Avatar billede michael_stim Ekspert
23. februar 2007 - 12:32 #8
Hvis du altså sortere nedefra og op ;o)
Avatar billede anderseiler Nybegynder
23. februar 2007 - 12:33 #9
Ja, det var også det jeg tænkte på.

Jeg sidder og laver små ændringer i et ret stort CMS system - og jeg har aldrig rørt asp før, så jeg er ikke lige så hurtig til det.

Det resulterede så også i, at jeg tilføjede TOP 2 * det forkerte sted :) Nu har jeg lige gjort det det andet sted, og nu kører det!

gawi, smid et svar :)

Takker!

Mvh
Anders
Avatar billede kalp Novice
23. februar 2007 - 12:34 #10
:) får du her:)
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
Kurser inden for grundlæggende programmering

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