XMLden Sıranoya göre databaseye update, insert ve delete işlemlerini aynı kod üzerinden yaptırmak istiyorum,
kayıt varsa güncelleme yapılıyor, yok ise yeni kayıt oluşturuluyor, fakat databasede eski bir kayıt yani XML de olmayan bir kayıt varsa bunu databaseden nasıl sindirebilirim?.
Mantık hatası yapıyorum fakat hatayı bulamadım...
Kod: Tümünü seç
Row := XMLNode.ChildNodes['row'].Text;
Sil := FieldByName('SIRANO').AsInteger;
if Not IsEmpty then
begin
Close;
SQL.Clear;
SQL.Add('Update HIZMET Set SIRANO=:SN, KAYITTARIHI=:KTR');
SQL.Add('Where SIRANO =' + Row);
ParamByName('SN').AsInteger := StrToInt(Row);
ParamByName('KTR').AsDate := KTarih;
ExecSQL;
end
else
begin
if IsEmpty then
begin
Close;
SQL.Clear;
SQL.Add('Insert Into HIZMET');
SQL.Add('(SIRANO, KAYITTARIHI)');
SQL.Add(' Values (:SN, :KTR)');
ParamByName('SN').AsInteger := StrToInt(Row);
ParamByName('KTR').AsDate := KTarih;
ExecSQL;
end
else
begin
if Sil <> StrToInt(Row) then
begin
Close;
SQL.Clear;
SQL.Add('Delete From HIZMET');
SQL.Add('Where SIRANO =' + Row);
ExecSQL;
end;