Registriert seit: 13. Jan 2004
5 Beiträge
|
Re: Zwei SQL-Datenbanken abgleichen, WIE?
20. Sep 2004, 11:10
Hi,
schau mal ob dir das weiter hilft. Gibt sicher noch weitaus elegantere Methoden,
habe aber grad wenig zeit.
need: 2 adoconnection, 2 adodateset (zum ansehen 2 datasources und 2 grids), 1 adocommand
bei adodateset1 kannste deine abfrage nach Änderungen(Zeitstempel) machen
brauchst natürlich eine Eindeutigkeit(Kunden-NR oder so) - hier mal "Name"
sonst wird mehr geupdated als erforderlich.
Insert hab ich jetzt mal weggelassen, das kannste ggf. selber einbauen.
-------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var i,b:integer;
begin
ADODataSet1.FindFirst;
for i:=0 to ADODataSet1.RecordCount-1
do begin
ADODataSet2.FindFirst;
for b:=0 to ADODataSet2.RecordCount-1
do begin
if ADODataSet2.fieldvalues['NAME']=ADODataSet1.fieldvalues['NAME']
then
begin
ADOCommand1.CommandText:='update testvar_tbl set ort='+ quotedstr(ADODataSet1.fieldvalues['ORT']) +' where name='+ quotedstr(ADODataSet1.fieldvalues['NAME']);
ADOCommand1.Execute;
end;
if b<ADODataSet2.RecordCount-1 then
ADODataSet2.FindNext;
end;
if i<ADODataSet1.RecordCount-1 then
ADODataSet1.FindNext;
end;
end;
-----------------------------------------------------------------------------------
Am Besten du gibst mal noch an wie all die Spalten in den Tabellen heißen,
dann kann ma da was Konkretes posten.
gruss
marcel
|