23. august 2003 - 13:16Der er
17 kommentarer og 2 løsninger
SQL flere tabeller
Jeg er rimelig ny i ASP, men synes selv jeg er ved at få smag for det, dog har jeg nogle problemer med SQL udtrækket hvor den laver fejl, vil meget gerne have lidt hjælp.
Jeg har 5 tabeller og jeg skal bruge oplysninger fra alle fem, det jeg så vil er at opsætte SQL sætninger og afvikle dem og så tage de forskellige data, simpeltnok.
Jeg har sat det op som følger:
' SQL forespørgsel SQLcap = "SELECT * FROM tblUser, Cap WHERE tblUser.MemberID = Cap.MemberID AND tblUser.Username = '" & session("Username") & "' ORDER BY Dato" SQLask = "SELECT * FROM Asking INNER JOIN tblUser On Asking.MemberID = tblUser.MemberID WHERE PartyID = '" & session("PartyID") & "'" SQLinv = "SELECT * FROM Invited INNER JOIN tblUser On Invited.MemberID = tblUser.MemberID WHERE PartyID = '" & session("PartyID") & "'" SQLbar = "SELECT * FROM Bar INNER JOIN Barlinie ON Bar.BarID = Barlinie.BarID WHERE PartyID = '" & session("PartyID") & "'"
' Udfør forespørgsel Set rs = Conn.Execute(SQLcap) Set rsask = Conn.Execute(SQLask) Set rsinv = Conn.Execute(SQLinv) Set rsbar = Conn.Execute(SQLbar) %>
Men det kan den ikke lide eller rettere den fejler ved udførsel af anden forespørgsel rsask, her skriver den følgenden:
Microsoft JET Database Engine (0x80040E07) Data type mismatch in criteria expression. /cap/party.asp, line 26
Hvad skal jeg gøre, eller hvordan skal jeg gøre for at det kommer til at virke, håber nogen har mere styr på SQL og ASP end mig pt.
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
23. august 2003 - 13:17#1
Hvis PartyID er et tal så prøv: SQLask = "SELECT * FROM Asking INNER JOIN tblUser On Asking.MemberID = tblUser.MemberID WHERE PartyID = " & session("PartyID")
Synes godt om
Slettet bruger
23. august 2003 - 13:23#2
Det hjalp ikke, desuden er det ikke i selve SQL statementen en fejler, men først når den skal afvikle, ikke at jeg ved om det så er afviklingen eller udførings processen den er gal med.
Synes godt om
Slettet bruger
23. august 2003 - 13:25#3
Fejler den ikke ved denne linie Set rsask = Conn.Execute(SQLask)
Synes godt om
Slettet bruger
23. august 2003 - 13:26#4
jo, præcis den linie
Synes godt om
Slettet bruger
23. august 2003 - 13:28#5
Jamen så er der også noget galt i den sql jeg gav dig. Det kan være at Access ikek kan lide inner join? Så prøv som du gjorde i den første: SQLask = "SELECT * FROM Asking,tblUser WHERE Asking.MemberID = tblUser.MemberID AND PartyID = " & session("PartyID")
Synes godt om
Slettet bruger
23. august 2003 - 13:28#6
når jeg sætter det ind du foreslog, skrievr den dette:
Microsoft JET Database Engine (0x80040E14) Syntax error (missing operator) in query expression 'PartyID ='. /cap/Party.asp, line 26
Læs dog fejl teksten... "Data type mismatch in criteria expression" Altså er der et problem med data typen og ikke Syntaxen...
Synes godt om
Slettet bruger
23. august 2003 - 13:34#10
bertie >> hvis jeg sætter teksten ind skriver den ingen ting
eagleeye >> tag d roligt, som jeg skrive er jeg ny i faget
Synes godt om
Slettet bruger
23. august 2003 - 13:37#11
Du skal sætte det ind efter du har sagt SQLask = "SELECT * FROM Asking INNER JOIN tblUser On Asking.MemberID = tblUser.MemberID WHERE PartyID = " & session("PartyID")
Synes godt om
Slettet bruger
23. august 2003 - 13:46#12
så skriver den bare sql statementen SELECT * FROM Asking, tblUser WHERE Asking.MemberID = tblUser.MemberID AND PartyID = ''
Synes godt om
Slettet bruger
23. august 2003 - 13:51#13
Det er fordi som jeg skrev tidligere at din session("partyID") er tom og så kan man ikke udføre sql'en, så du er nødt til at sørge fro at sessionen ikke er tom før du kan komme videre.
Synes godt om
Slettet bruger
23. august 2003 - 13:54#14
allright, det prøver jeg, tak for hjælpen indtil nu.
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.