changement de valeur pour toutes les lignes, Aidez moi SVP

changement de valeur pour toutes les lignes, Aidez moi SVP - SQL/NoSQL - Programmation

Marsh Posté le 18-09-2007 à 20:54:20    

salut tout le monde;
je travaille avec delphi et un serveur base de données SQL.
j'utilise un composant DBGRID et un composant DBNavigator.
Dans la methode Onshow de ma fenetre j'execute la requete SQL squivante :
 
//////////
select  Code_site, Secteurs, code_BSC, Date_H_debut, Date_H_Fin,
Alarme, type_probleme as Probleme,
Categorie as Cat, prenom as Responsable, Observation, Level1 as SMS
  from Panne, Alarme, Probleme, Responsable where Panne.Code_Alarme=Alarme.Code_Alarme
  and Panne.Code_type_Probleme=Probleme.Code_type_Probleme
  and Panne.Code_Responsable=Responsable.Code_Responsable
/////////
sachant que :  Code_site, Secteurs, code_BSC, Date_H_debut, Date_H_Fin , Observation sont des champs de la table Panne.
Alarme, categorie et Level1 sont des champs de la table Alarme
type_probleme est un champ de la table probleme
et Responsable est un champ de la table Responsable
 
j'ai remarqué que lorsque je modifie le probleme dans la colonne corespondante du dbgrid (dans une ligne donnée), ça modifie toutes les lignes qui ont ce probleme et même le champ correspondant dans la table probleme....
 
après plusieurs tentative, je commence à ne rien comrendre!!
 
 
Aidez moi SVP

Reply

Marsh Posté le 18-09-2007 à 20:54:20   

Reply

Marsh Posté le 19-09-2007 à 09:27:44    

ben c'est normal vu que type_problème est une clé primaire -> ça correspond à un seul enregistrement (ligne) dans ta table "problèmes" et toutes les lignes de ton dbgrid qui ont ce type de pb sont "liés" à cet enregistrement.
Si tu ne veux modifier qu'une seule ligne faut en fait créer un nouveau type ou réutiliser un autre type de pb déjà existant puis lier sa clé primaire à l'enregistrement du dbgrid...

Reply

Marsh Posté le 19-09-2007 à 11:05:55    

En fait, quand tu veux changer le problème, c'est pas le champ "type_probleme" de la table "probleme" que tu dois changer, mais le champ "Code_type_probleme" de la table panne.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed