Avatar billede Slettet bruger
13. november 2004 - 15:59 Der er 8 kommentarer og
1 løsning

SQL query returnerer kun 256 tegn (og jeg vil have det hele)

Starter lige med mit query:

SELECT blog.ID, blog.Titel, blog.Dato, blog.Tekst, Count(blogcomments.CommentID) AS CountOfCommentID
FROM blog LEFT JOIN blogcomments ON blog.ID = blogcomments.ID
GROUP BY blog.ID, blog.Titel, blog.Dato, blog.Tekst
ORDER BY blog.ID DESC;

Der er 2 tables i min database jeg vil bruge. Det er "blog" og "blogcomments", Blog indeholder 4 fields, dato, titel, tekst og ID. Blogcomments er en table hvor jeg lagrer de kommentarer folk har postet til mine blog posts. Der er en række fields, deriblandt ID og CommentID. ID refererer til ID i tabellen blog, så jeg kan knytte kommentarer til de rette blog posts. CommentID er et unikt nummer for hver kommentar.

Den SQL streng jeg har bygget her, er til at liste hele min blog på forsiden af mit site. Så den skal returnere alle fields fra tabellen blog, og samtidig lave et COUNT() på CommentID hvor blog.ID = blogcomments.ID, så jeg kan skrive på forsiden i en lille parantes hvor mange kommentarer der er til en given post.

Og her kommer så problemet. Det virker. BORTSET fra at jeg kun får returneret de første 256 tegn fra blog.Tekst. Resultatet kan ses på http://www.jensrex.net/. Jeg fatter det simpelt hen ikke. Et par timer på Google og dusinvis af smøger og cola har ikke hjulpet på det. Det giver bare ingen mening i mit hovede.

Måske et overmåde detaljeret spørgsmål, men hellere for meget info end for lidt.
Avatar billede Slettet bruger
13. november 2004 - 16:03 #1
Såvidt jeg husker så er du nødt til selv at hente ud med en substring for at få det hele med, men jeg kan ikke huske om du skal hente i blokke af 156 tegn eller om du kan få det hele med hvis du siger fra pos 1 til længden af feltet.
Har selv bøvlet med det engang uden at finde en god løsning.
Avatar billede supertekst Ekspert
13. november 2004 - 16:06 #2
Hvilken datatype er feltet Tekst i de to tabeller - TEXT eller NOTAT?
Avatar billede Slettet bruger
13. november 2004 - 16:10 #3
Det er MEMO (som sikkert svarer til NOTAT i den danske version).

Jeg glemte også at sige at hvis jeg bare henter alle dataene på almindeligvis (altså SELECT * FROM blog f.eks.) så virker det strålende, og det har jeg kørt med noget tid indtil i dag, hvor jeg lige ville tilføje en parantes på forsiden der indikerer antallet af kommentarer.
Avatar billede hossein Nybegynder
13. november 2004 - 16:21 #4
sæt/valg tekst feltet helt til sidst:
SELECT blog.ID, blog.Titel, blog.Dato, Count(blogcomments.CommentID) AS CountOfCommentID, blog.Tekst...
Avatar billede Slettet bruger
13. november 2004 - 16:30 #5
Nu har jeg:

SELECT blog.ID, blog.Titel, blog.Dato, Count(blogcomments.CommentID) AS CountOfCommentID, blog.Tekst
FROM blog LEFT JOIN blogcomments ON blog.ID = blogcomments.ID
GROUP BY blog.ID, blog.Titel, blog.Dato, blog.Tekst
ORDER BY blog.ID DESC;

Men resultatet er det samme.
Avatar billede terry Ekspert
13. november 2004 - 16:48 #6
There are limitations selecting MEMO fields which are longer than 256 characters.
THis link may help, but Ihave not tried it myself

http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=80
Avatar billede terry Ekspert
13. november 2004 - 16:51 #7
This may be worth looking at too (GROUP BY)

http://www.jdhodges.com/log/1321
Avatar billede Slettet bruger
13. november 2004 - 18:13 #8
Jeg takker mange gange.

Access er da noget hø. Jeg har hørt folk sige det før, men har aldrig helt forstået hvorfor, men det forstår jeg da nu.

Indtil videre må jeg så bruge et par tåbelige hacks for at få skidtet til at virke, indtil jeg finder på en mere kompetent database løsning.
Avatar billede terry Ekspert
14. november 2004 - 10:54 #9
selv tak.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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