Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1437 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  mis à jour de 2 tables sous delphi

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mis à jour de 2 tables sous delphi

n°1159181
koff10
Posté le 25-07-2005 à 16:25:50  profilanswer
 

bonjour ,
je suis nouveau en  programmation et delphi.
 
voici mon problème: je travaille sur delphi 7, sur une base de donnée Interbase avec BDE.
 
j'ai 2 tables :  'lieu1' et 'lieu2' . Ces 2 tables contiennnent les mêmes données et même champs.
(les données sont des adresse, ville, rue etc...)
la table 'Lieu1' est en locale et subit  des modifications manuelles journalières.
la table 'Lieu2' est à distance , ne subissent pas de modification sauf par mis à jour
  en provenance de la table Lieu1.
 
Mon souci: Lors de la mis à jours de la table 'Lieu2' par la table 'Lieu1' , je dois tester d'abord la présence
des enrégistrements existants dans le table 'Lieu2'. Si les mêmes enrégistrements de la table Lieu1 existent déjà dans la table Lieu2, on ne fait rien, sinon je copie les nouvelles enrégistrements de la table1 vers la table lieu2.
( Surtout pas de copie de la table Lieu1 et le renommer en lieu2)
 
Voici le programme ci-dessous. Ce programme marche bien seulement s'il n'y a aucun enrégistrement dans la table 'Lieu2'
 
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   qrlieu.Open;
   while not (qrlieu.eof) do
   begin
       
             qrInsertlieu.ParamByName('li_id').AsInteger := qrlieu.fieldbyname('li_id').AsInteger;
             qrInsertlieu.ParamByName('vi_id').AsInteger := qrlieu.fieldbyname('vi_id').AsInteger;
             qrInsertlieu.ParamByName('li_adr1').Asstring := qrlieu.fieldbyname('li_adr1').Asstring;
             qrInsertlieu.ExecSQL;
             qrcommit.ExecSQL;
             qrlieu.Next;
 
   end;
end;

 
 
Explication :   qrlieu est un Query:  ( select * from lieu)  // ici lieu désigne la table lieu1
               
 
                qrInsertionlieu est un bouton dont le query est :
 
                                        insert into lieu  (li_id,vi_id,li_adr1)
                                        values(:li_id, :vi_id, :li_adr1)
                 
                 Ici Lieu designe la table Lieu2
 
 
help , help  

mood
Publicité
Posté le 25-07-2005 à 16:25:50  profilanswer
 

n°1159323
Zozol
Posté le 25-07-2005 à 18:47:42  profilanswer
 

Je vois pas. Mais si tu decriver l'erreur, on aurait plus de chance (Ca génère une exception? Si oui, quelle execption?)
 
Bon...une explication qui marche souvent : Tu est sur que la table Lieu1 ne contient pas une clé unique (ce qui entrainerais une violation de clé quand tu fait une nouvelle insertion)?

n°1159522
bounty
Posté le 25-07-2005 à 21:12:10  profilanswer
 

J'dis ça comme ça mais tu fera pas cela en SQL plutot? ça doit être faisable en utilisant des sous-requetes.
 

n°1159767
koff10
Posté le 26-07-2005 à 08:45:49  profilanswer
 

Zozol a écrit :

Je vois pas. Mais si tu decriver l'erreur, on aurait plus de chance (Ca génère une exception? Si oui, quelle execption?)
 
Bon...une explication qui marche souvent : Tu est sur que la table Lieu1 ne contient pas une clé unique (ce qui entrainerais une violation de clé quand tu fait une nouvelle insertion)?


 
 
Merci ZOZOL
 
Effectivement j'ai une erreur de violation de clé quand je fais une nouvelle insertion.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  mis à jour de 2 tables sous delphi

 

Sujets relatifs
recherche de scipt de mise a jour texte dans siteselect mis a jour par d'autres select
[MySQL] Lister les tables de manière flexible (tri, etc...)[PHP] - mysql - connaitre la derniere action sur une liste de tables
Mise à jour de l'add-on php4 de WAMP5Affichages differents selon l'heure, le jour...(genre horaires de bus)
Vérification de mise à jouret ce qe vou avé le lien pour telechargé la mise a jour pour le k750i
[Delphi] Comment fermer correctement une fiche?Initialiser les compteurs des tables SQL Server
Plus de sujets relatifs à : mis à jour de 2 tables sous delphi


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR