procedure TForm1.Button1Click(Sender: TObject);
var teller : integer;
begin
// Open de connectie naar MySQL
SQLConnection1.Open;
// open de tabel, waarvan gekopieerd moet worden
table1.active := true;
// open de clientdataset. Deze is de container van de tabel
// die de veldwaarden krijgt van de bron tabel
clientdataset1.Active := true;
teller := 1;
while not table1.eof do
begin
//controleer of de naam al bestaat
if not clientdataset1.Locate('naam',
vararrayof([table1.FieldByName('naam').AsString]),[]) then
begin
// copieer de hele regel naar de container tabel
// nu zijn het 29 velden, maar dat kan je aanpassen naar de
// hoeveelheid velden in je brontabel
clientdataset1.AppendRecord([table1.Fields[0].Value, table1.Fields[1].Value,
table1.Fields[2].Value, table1.Fields[3].Value, table1.Fields[4].Value,
table1.Fields[5].Value, table1.Fields[6].Value, table1.Fields[7].Value,
table1.Fields[8].Value, table1.Fields[9].Value, table1.Fields[10].Value,
table1.Fields[11].Value,table1.Fields[12].Value,table1.Fields[13].Value,
table1.Fields[14].Value,table1.Fields[15].Value,table1.Fields[16].Value,
table1.Fields[17].Value,table1.Fields[18].Value,table1.Fields[19].Value,
table1.Fields[20].Value,table1.Fields[21].Value,table1.Fields[22].Value,
table1.Fields[23].Value,table1.Fields[24].Value,table1.Fields[25].Value,
table1.Fields[26].Value,table1.Fields[27].Value,table1.Fields[28].Value]);
//stuur de gewijzigde gegevens naar de MySQL tabel
clientdataset1.ApplyUpdates(0);
end;
label1.Caption := inttostr(teller);
inc(teller);
application.ProcessMessages;
table1.Next;
end;
table1.Active := false;
clientdataset1.Active := false;
label1.Caption := 'klaar';
SQLConnection1.Close;
end;
Bookmarks