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