begin process at 2010 02 09 21:31:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Base de données

 > 

Relations dans C#


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Relations dans C#

mercredi 27 juillet 2005 à 11:28:35 | Relations dans C#

reythierry

Bonjour tout le monde .

J'ai une base de données Access avec comme tables : Clients et Commandes.
J'ai aussi une relation ("ClientsCommandes") la table Clients étant la table parente et Commandes la table enfant. 
Dans une ListBox1 j'ai une liste de N°client obtenue à partir de la table Commandes ( N°Client = clé étrangère de la table Clients).
Je voudrais à partir de cette liste obtenir les enregistrements parents ( Nom, prénom, adresse,... de la table Clients) pour les afficher dans une autre ListBox2.
Merci.

mercredi 27 juillet 2005 à 11:46:33 | Re : Relations dans C#

69chris

Bonjour,

Il faut retrouver le DataRow selectionné au niveau de la listbox1 et utiliser la méthode GetChildRows() pour obtenir les datarow enfants.

Chris

N'oubliez pas de cloturer votre post.
mercredi 27 juillet 2005 à 20:45:48 | Re : Relations dans C#

reythierry

En fait voilà plutôt ce que je voudrais faire :

Contenu de la table Clients : N°Client(clé primaire), nom, prénom,adresse.
Contenu de la table Commandes : N°Commandes, dates, comN°Client(Clé étrangère de la table Clients),Code Rabais.
Avec une relation ("ClientsCommandes").

Je place ce code dans un événement click d'un bouton :

string filtre = "CodeRabais = '1'";
string tri = "ComN°Client";
DataRow [] dr = this.dataset1.Commandes.Select ( filtre, tri, DataViewRowState.CurrentRows);
for (int i=0; i<dr.Length; i++)
{
lstClients.Items.Add (dr[i]["ComN°Client"].ToString());
}

Donc je filtre les N° de clients de la table Commandes sur les rabais et j'affiche dans ma listebox (lstClients) les N° de clients de la table Commandes.
 Ce que je voudrais c'est d'après ces numéros de clients pouvoir obtenir les noms, prénoms de ces clients (qui se trouvent dans la table Clients) et les afficher dans une autre listeBox.  

Je ne sais pas si j'ai été clair ? En tout cas mille mercis....

mercredi 27 juillet 2005 à 20:46:51 | Re : Relations dans C#

reythierry

En fait voilà plutôt ce que je voudrais faire :

Contenu de la table Clients : N°Client(clé primaire), nom, prénom,adresse.
Contenu de la table Commandes : N°Commandes, dates, comN°Client(Clé étrangère de la table Clients),Code Rabais.
Avec une relation ("ClientsCommandes").

Je place ce code dans un événement click d'un bouton :

string filtre = "CodeRabais = '1'";
string tri = "ComN°Client";
DataRow [] dr = this.dataset1.Commandes.Select ( filtre, tri, DataViewRowState.CurrentRows);
for (int i=0; i<dr.Length; i++)
{
lstClients.Items.Add (dr[i]["ComN°Client"].ToString());
}

Donc je filtre les N° de clients de la table Commandes sur les rabais et j'affiche dans ma listebox (lstClients) les N° de clients de la table Commandes.
 Ce que je voudrais c'est d'après ces numéros de clients pouvoir obtenir les noms, prénoms de ces clients (qui se trouvent dans la table Clients) et les afficher dans une autre listeBox.  

Je ne sais pas si j'ai été clair ? En tout cas mille mercis....

jeudi 28 juillet 2005 à 08:42:28 | Re : Relations dans C#

69chris

Réponse acceptée !
Et bien, voilà ce que je te propose (étant donnée que la liste d'ID et les infos sont dans la même table):

string filtre = "CodeRabais = '1'";
string tri = "ComN°Client";
DataView dv = this.dataset1.Commandes.DefaultView;
dv.RowFilter = filtre;
dv.Sort = tri;
lstClient.DataSource = dv
lstClient.DisplayMember = "ComN°Client"

Ainsi, chaque élément de la listBox est en réalité un DataRowView. Lorsque tu cliques sur un élément de la liste, tu peux faire :
DataRowView drv = ((DataRowView)(lstClient.SelectItem))
MessageBox.Show(drv("nom"))

De même, si tu recherche les commandes du client, rien de plus simple. A l'aide du DataRowView drv, tu fais drv.Row.GetChildsRows("ClientsCommandes") et tableau de DataRow correspondant aux commandes du client.

Là, ça doit être un peu plus simple que recherche un ID.

Chris

N'oubliez pas de cloturer votre post.
jeudi 28 juillet 2005 à 09:09:51 | Re : Relations dans C#

reythierry

Yes yes yes . c'est tout bon! Merci


Cette discussion est classée dans : table, liste, relations, commandes, clients


Répondre à ce message

Sujets en rapport avec ce message

Relations Access [ par reythierry ] Bonjour,Voici mon problème :J'ai une Base Access avec ça:Contenu de la table Clients : N°Client(clé primaire), nom, prénom,adresse.Contenu de la table Envois d'une liste à plusieurs clients [ par Captain_Bomber ] Bonjour à tous!!J'ai pratiquement terminé mon chat Client/Serveur TCP, et il reste une fonction qui pose problème...J'utilise une ListBox qui affiche [débutant c#] contenu datagridview modifié en fonction de l' enregistrement en cours [ par hezar ] Bonjour, Je travaille sous visual studio 2008 avec une base de données Access. Je souhaite réaliser un genre de visualisateur d' enregistrment. Pren Gérer une liste comme une table [ par _osiris_ ] BonjourQuel est le meilleur moyen pour gérer une liste d'objet, un peu comme une table ?J'ai créé une structure du type:class personne int id string Liste d'objets dans les tables [ par scoubidou944 ] Untruc bête comme choux sous csharp& Cie1ere table : une liste de constructeurs (avec en plus un id en clé primaire)2eme table : une liste de modeles Liste de sous-repertoires [ par Seth77 ] Salutcomment peut on avoir la liste de tous les sous repertoires qui sont dans un repertoire ?Herve demande de Conseil pour etablir un programme [ par MagicData ] Bonjour à tous je suis nouveau sur le forum alors j'espere etre clair et precis dans ma demande.Je voudrais faire un programme de gestion d'entraineme arbre à fils multiples [ par Ro3090 ] Bonjour,Je voudrais créer un arbre qui ait plusieurs fils à partir d'une liste, sachant que je ne connais pas la taille de ma liste à l'avance.Pour ma Utiliser la valeur d'une textbox dans une requete [ par brute ] Bonjour, J'ai un probleme avec l'application que je développe. Dans un premier temps l'application charge une table dans un datagrid : aucun probleme. Récupérer le nom des colonnes d'un table [ par EmacLi ] Bonjour à tous !J'ai un petit problème :Comment faire pour récupérer le nom des colonnes d'une table sous Oracle ?J'ai essayé "DESCRIBE nomTable;" mai


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales