Bonjour,
je suis actuellement sur la réalisation d'un projet de médiathèque pour mon cours de technique informatique. ci-joint vous pourrez trouver le modèle logique de données associé à ce projet.
Mon but est de remplir plusieurs listbox par le nom et le prénom des tables acteur/producteur/réalisateur mais le problème est que ces noms et prénoms proviennent d'une autre table ("personne").
voici le code d'où provient l'erreur
l'erreur étant que les listbox à numero impair ne sont remplies que par les noms des acteurs et les listbox à numero pair par les prénoms des acteurs. Comme vous pouvez le constater sur le MLD ci-joint, chaque nom et prénom provient de la classe personne. Pour obtenir les noms et prénoms des tables acteur, producteur et réalisateur j'ai dû utiliser des alias. Voici la requête Mysql lancée par mon application :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 listBox1.Items.Add(reader.GetString("nom")); listBox2.Items.Add(reader.GetString("prénom")); listBox3.Items.Add(reader.GetString("nom")); listBox4.Items.Add(reader.GetString("prénom")); listBox5.Items.Add(reader.GetString("nom")); listBox6.Items.Add(reader.GetString("prénom"));
et voici le code complet associé au bouton de recherche du film :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 string query = "select distinct media.titre, media.genre, media.adressepc, media.annéedesortie, media.durée, media.saga, personne.nom, personne.prénom, P2.nom, P2.prénom, P3.nom, P3.prénom, pays.nompays " + "from media " + "inner join pays " + "on pays.idmedia=media.idmedia " + "inner join acteur " + "on acteur.idmedia=media.idmedia " + "inner join realisateur " + "on realisateur.idmedia=media.idmedia " + "inner join producteur " + "on producteur.idmedia=media.idmedia " + "INNER JOIN personne " + "ON personne.idpersonne=acteur.idpersonne " + "INNER JOIN personne as P2 " + "ON P2.idpersonne=realisateur.idpersonne " + "INNER JOIN personne as P3 " + "ON P3.idpersonne=producteur.idpersonne " + "where media.titre like '%" + textBox1.Text + "%';";
Je suis à votre entière disposition si vous avez besoin de plus d'informations. Merci pour votre disposition, j'espère avoir une réponse assez vite, le problème est assez urgent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "") { MessageBox.Show("veuillez spécifier le nom du film dont vous recherchez la fiche", "erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { listBox1.Items.Clear(); listBox2.Items.Clear(); listBox3.Items.Clear(); listBox4.Items.Clear(); listBox5.Items.Clear(); listBox6.Items.Clear(); string query = "select distinct media.titre, media.genre, media.adressepc, media.annéedesortie, media.durée, media.saga, personne.nom, personne.prénom, P2.nom, P2.prénom, P3.nom, P3.prénom, pays.nompays " + "from media " + "inner join pays " + "on pays.idmedia=media.idmedia " + "inner join acteur " + "on acteur.idmedia=media.idmedia " + "inner join realisateur " + "on realisateur.idmedia=media.idmedia " + "inner join producteur " + "on producteur.idmedia=media.idmedia " + "INNER JOIN personne " + "ON personne.idpersonne=acteur.idpersonne " + "INNER JOIN personne as P2 " + "ON P2.idpersonne=realisateur.idpersonne " + "INNER JOIN personne as P3 " + "ON P3.idpersonne=producteur.idpersonne " + "where media.titre like '%" + textBox1.Text + "%';"; MySqlCommand cmd = new MySqlCommand(query, connection); MySqlDataReader reader; reader = cmd.ExecuteReader(); while (reader.Read()) { label6.Text=reader.GetString("annéedesortie"); label8.Text=reader.GetString("genre"); label24.Text=reader.GetString("nompays"); label7.Text = reader.GetString("durée"); label22.Text=reader.GetString("saga"); label14.Text=reader.GetString("adressepc"); listBox1.Items.Add(reader.GetString("personne.nom")); listBox2.Items.Add(reader.GetString("personne.prénom")); listBox3.Items.Add(reader.GetString("P2.nom")); listBox4.Items.Add(reader.GetString("P2.prénom")); listBox5.Items.Add(reader.GetString("P3.nom")); listBox6.Items.Add(reader.GetString("P3.prénom")); } reader.Close(); } }
Partager