Einzelnen Beitrag anzeigen

baff

Registriert seit: 13. Jan 2004
5 Beiträge
 
#6

Re: Zwei SQL-Datenbanken abgleichen, WIE?

  Alt 20. Sep 2004, 10: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
  Mit Zitat antworten Zitat