Moundir76
Messages postés286Date d'inscriptiondimanche 3 octobre 2010StatutMembreDernière intervention16 mai 2014
-
6 janv. 2012 à 11:09
Moundir76
Messages postés286Date d'inscriptiondimanche 3 octobre 2010StatutMembreDernière intervention16 mai 2014
-
9 janv. 2012 à 09:18
Bonjour,
Je souhaite exécuter une requête à partir de mon programme en VB.NET sur une base SQL SERVER.
Voici mon code :
Dim Maconnexion As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\MABADO.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim CmdSelectClients As New SqlCommand("SELECT idEntite FROM ENTITE E JOIN PLIEUR P ON (E.idEntite=P.idEntite)", Maconnexion)
Dim dt As New DataTable()
Dim daTable As New SqlDataAdapter(CmdSelectClients)
Maconnexion.Open()
daTable.Fill(dt)
ListBox1.DataSource = dt
ListBox1.DisplayMember = "idEntite"
ListBox1.ValueMember = "idEntite"
Maconnexion.Close()
Mais cela ne fonctionne pas, ma listbox reste vide.
Cependant, si je ne fais pas de INNER join et que je fais juste "SELECT idEntite FROM ENTITE", cela fonctionne bien.
Je pensais que mon INNER JOIN était faux donc j'ai attaqué directement la BDD avec la requête INNER, qui m'a bien renvoyé les résultats souhaités.
Moundir76
Messages postés286Date d'inscriptiondimanche 3 octobre 2010StatutMembreDernière intervention16 mai 2014 6 janv. 2012 à 11:12
ps : je viens de contourner le problème en modifiant la requête "SELECT idEntite FROM ENTITE WHERE idEntite IN(SELECT idEntite From PLIEUR)"
Mais je ne comprends toujours pas pourquoi ça ne fonctionne pas avec un INNER JOIN
Vous n’avez pas trouvé la réponse que vous recherchez ?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202172 6 janv. 2012 à 14:26
JOIN est possible dans ce cas (équi jointure)
je n'aime pas non plus cette syntaxe.
Elle est censée accelerer les traitements en indexant la chose comme il convient.
les requetes sont maintenant optimisée et compilées... j'ignore si c'est daubes syntaxiques que sont les jointures sont toujours à préconiser.
Moundir76
Messages postés286Date d'inscriptiondimanche 3 octobre 2010StatutMembreDernière intervention16 mai 2014 6 janv. 2012 à 16:14
Mais par exemple quand tu vas chercher des infos d'une table partir d'une autre :
Select nom FROM Personne P INNER JOIN Homme H On P.nom H.nom INNER JOIN Grand G on G.nomH.nom
(je crois que c'est du SQL2)
Comment comptes tu faire ?
Est ce que ça remettrais en cause ce qu'on apprends en cours ?