Avatar billede neander Nybegynder
15. januar 2005 - 13:21 Der er 5 kommentarer og
1 løsning

SQL sætning driller

Jeg vil hive nogle poster frem fra en slags post-system, men det driller. Jeg modtager AL post, frem for den post som svarer til det session-id jeg er logget på med.

Min kode ser sådan ud:

-----
'b1: afsender
'b2: modtager

set rsPost = Server.CreateObject("ADODB.RecordSet")
rsPost.Open "SELECT p.beskedID, b1.brugerID AS AfsenderID, b1.brugernavn AS Afsender, b2.brugerID AS ModtagerID, b2.brugernavn AS Modtager, b1.online, b2.online, b1.figur, b2.figur FROM post AS p, brugere AS b1, brugere AS b2 WHERE (b1.brugerID = p.afsender AND b2.brugerID=" & session("BrugerID") & ")", Connect, 1
-----

Hvorfor vises alt post og ikke kun der hvor session svarer til modtagerID?


NB: Jeg HAR checket sessionID og hvorvidt modtagerID passer sammen i databasen. Jeg bruger accessdatabase.
Avatar billede thesurfer Nybegynder
15. januar 2005 - 14:33 #1
b2.brugerID er af typen tal?
Ellers: b2.brugerID='" & session("BrugerID") & "')"
Avatar billede neander Nybegynder
15. januar 2005 - 14:41 #2
Datatypen er tal, og hvis jeg sætter pling rundt om får jeg denne fejl:

"Data type mismatch in criteria expression."

Ellers får jeg ingen fejlmeddelelse overhovedet... den viser blot samtlige records fra post tabellen... uanset hvilket session-id man logger på med.
Avatar billede hossein Nybegynder
15. januar 2005 - 15:32 #3
det er måske fordi du har 3 tabeller (2 + 1 copy) og din join skal også gælde for b2.brugreID = p.afsender
Avatar billede neander Nybegynder
15. januar 2005 - 20:01 #4
Nu har jeg gjort sådanher, men det fungerer stadig ikke:

set rsPost = Server.CreateObject("ADODB.RecordSet")
rsPost.Open "SELECT p.beskedID, p.dato, p.laest, p.besvaret, b1.brugerID AS AfsenderID, b1.brugernavn AS Afsender, b2.brugerID AS ModtagerID, b2.brugernavn AS Modtager, b1.online, b2.online, b1.figur, b2.figur FROM post AS p, brugere AS b1, brugere AS b2 WHERE b1.brugerID = p.afsender AND b2.brugerID=" & session("BrugerID") & " AND b2.brugere = p.modtager ORDER BY p.dato desc;", Connect, 1
Avatar billede neander Nybegynder
15. januar 2005 - 22:15 #5
Denne her mere simple forespørgsel kan sagtens tælle det rigtige antal breve vedkommende har i sin indbakke... men hvorfor fungerer det så ikke i den anden?

QueryKapacitet = "Select count(*) as [Found] from [post] WHERE [parentBesked]=0 AND [modtager]=" & session("BrugerID")
Avatar billede neander Nybegynder
16. januar 2005 - 13:41 #6
lukker
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