Delphi Sql Mükerrer Kayıt Engelleme

Delphi’de SQL Mükerrer Kayıt Engelleme

Mükerrer kayıtlar, veritabanı yönetiminde yaygın bir sorundur ve veri bütünlüğünü ve tutarlılığını tehlikeye atabilir. Delphi, mükerrer kayıtları engellemek için çeşitli mekanizmalar sağlar ve bu makale bu mekanizmaları ayrıntılı olarak inceleyecektir.

Birincil Anahtarlar

Birincil anahtarlar, bir tablodaki her kaydı benzersiz bir şekilde tanımlayan sütun veya sütun kümeleridir. Birincil anahtarlar oluşturulduğunda, veritabanı yönetim sistemi (DBMS), aynı birincil anahtara sahip mükerrer kayıtların eklenmesini otomatik olarak engeller.

Delphi’de birincil anahtarlar, TTable.PrimaryKey özelliği kullanılarak oluşturulabilir. Örneğin:

delphi
table.PrimaryKey := ['ID'];

Benzersiz İndeksler

Benzersiz indeksler, birincil anahtarlara benzer, ancak bir tabloda birden fazla benzersiz indeks olabilir. Benzersiz indeksler, belirli sütunlar veya sütun kümeleri için mükerrer değerleri engeller.

Delphi’de benzersiz indeksler, TTable.Indexes.Add yöntemi kullanılarak oluşturulabilir. Örneğin:

delphi
table.Indexes.Add('Idx_Name', ['Name'], [ixUnique]);

Kontrol Kısıtlamaları

Kontrol kısıtlamaları, veritabanı tablolarına uygulanan kurallardır. Mükerrer kayıtları engellemek için UNIQUE kontrol kısıtlaması kullanılabilir.

Delphi’de kontrol kısıtlamaları, TTable.Constraints.Add yöntemi kullanılarak oluşturulabilir. Örneğin:

delphi
table.Constraints.Add('Con_UniqueName', [ckUnique], ['Name']);

Olay İşleyicileri

Olay işleyicileri, veritabanı tablolarında belirli olaylar meydana geldiğinde tetiklenen kod parçalarıdır. Mükerrer kayıtları engellemek için BeforeInsert olay işleyicisi kullanılabilir.

Delphi’de olay işleyicileri, TTable.Events.OnBeforeInsert özelliği kullanılarak eklenebilir. Örneğin:

“`delphi
table.Events.OnBeforeInsert := @BeforeInsertHandler;

procedure BeforeInsertHandler(Sender: TObject; var ARecord: TDataset; var AError: Boolean);
begin
if ARecord[‘Name’] in table.FieldByName(‘Name’).Values then
AError := True;
end;
“`

Faydalı Siteler ve Dosyalar


Yayımlandı