[C# / SQL] missing operator in query expression

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Erik888
  • Registratie: Augustus 2004
  • Laatst online: 31-10-2023
Ik heb een C# programma die connectie maakt met een accessdatabase. Dit gaat met verschillende queries goed, maar bij de onderstaande komt de foutmelding':
Syntax error (missing operator) in query expression 'Boekingen.volgnrklant = Klanten.volgnr INNER JOIN Artiesten ON Boekingen.volgnrartiest = Artiesten.volgnr'.

De query die ik uit wil voeren is:
SELECT Klanten.voorletters, Boekingen.*, Artiesten.voorletters FROM Boekingen INNER JOIN Klanten ON Boekingen.volgnrklant = Klanten.volgnr INNER JOIN Artiesten ON Boekingen.volgnrartiest = Artiesten.volgnr ORDER BY Boekingen.optreeddatumtijd

De volgende twee queries gaan wel goed:
SELECT Klanten.voorletters, Boekingen.* FROM Boekingen INNER JOIN Klanten ON Boekingen.volgnrklant = Klanten.volgnr ORDER BY Boekingen.optreeddatumtijd

SELECT Boekingen.*, Artiesten.voorletters FROM Boekingen INNER JOIN Artiesten ON Boekingen.volgnrartiest = Artiesten.volgnr ORDER BY Boekingen.optreeddatumtijd

Is het soms niet mogelijk om drie tabellen te koppelen?
Als ik in SQL de drie tabellen toevoeg en vul en dan de query uitvoer dan gaat het wel goed.

Voor de volledigheid:
AdapterBoekingen = new OleDbDataAdapter(strQuery, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=boekingen.mdb");
cBuilderBoekingen = new OleDbCommandBuilder(AdapterBoekingen);
dTableBoekingen = new DataTable();
AdapterBoekingen.Fill(dTableBoekingen);
dTableBoekingen.TableName = "Boekingen";

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Zet AUB je sql/code even uitgelijnd in Code tags ( Hoe post je code? / Hoe gebruik je de code tag? ).

Want op deze manier is het echt niet te lezen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Meekoh
  • Registratie: April 2005
  • Laatst online: 16-09 16:34
Misschien kun je wat van je de code plaatsen die je probeert uit te voeren, aangezien je zegt dat je SQL statement wel werkt wanneer je m vanuit de query analyzer/management studio draait.
3 tabellen koppelen moet ook kunnen hoor daar niet van.
Waarschijnlijk zit het probleem in de C# code...

Computer says no


Acties:
  • 0 Henk 'm!

  • PvdE
  • Registratie: April 2009
  • Laatst online: 21-09 09:28
[b][message=31848057,noline]... maakt met een accessdatabase...
Volgens mij moet je in access als je gebruik maak van meerdere joins, deze tussen () zetten

Uit het hoofd zou het ongeveer zoiets moeten worden:
SQL:
1
2
3
4
5
6
SELECT Klanten.voorletters, Boekingen.*, Artiesten.voorletters
FROM  (Boekingen 
       INNER JOIN Klanten ON Boekingen.volgnrklant = Klanten.volgnr 
      )
      INNER JOIN Artiesten ON Boekingen.volgnrartiest = Artiesten.volgnr 
ORDER BY Boekingen.optreeddatumtijd

Acties:
  • 0 Henk 'm!

  • Erik888
  • Registratie: Augustus 2004
  • Laatst online: 31-10-2023
PvdE schreef op vrijdag 24 april 2009 @ 12:44:
[...]


Volgens mij moet je in access als je gebruik maak van meerdere joins, deze tussen () zetten

Uit het hoofd zou het ongeveer zoiets moeten worden:
SQL:
1
2
3
4
5
6
SELECT Klanten.voorletters, Boekingen.*, Artiesten.voorletters
FROM  (Boekingen 
       INNER JOIN Klanten ON Boekingen.volgnrklant = Klanten.volgnr 
      )
      INNER JOIN Artiesten ON Boekingen.volgnrartiest = Artiesten.volgnr 
ORDER BY Boekingen.optreeddatumtijd
Perfect, dit is de oplossing. Bedankt.