TDBGrid Uniq Field Error [Çözüldü]

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Efe
Üye
Mesajlar: 56
Kayıt: 09 Kas 2014 11:14

TDBGrid Uniq Field Error [Çözüldü]

Mesaj gönderen Efe »

Merhaba

Mail toplama programı yapıyorum. DBGrid ile verileri SQLite veri tabanından çekip DBGridde gösteriyorum.

DBGrid alanları

url, email, saat, tarih

email alanına aynı kayıt birkez daha eklenemesin diye UNIQ yaptım. Buraya kadar herşey normal.

Sorun: DBGrid üzerinde email alanında değişiklik yaptığım zaman, eğer değişiklik yaptıktan sonra o email veri tabanında var ise hata veriyor. TRY...EXPECT ile hatayı düzelteyim dedim olmadı! Ne yapmam lazım?

Değişiklik yaptığım zaman ağğağıdaki hatayı alıyorum:

[FireDAC][Phys][SQLite] ERROR: UNIQUE constraint failed: tblExtractor.Email.
En son Efe tarafından 14 Ara 2014 12:55 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Efe
Üye
Mesajlar: 56
Kayıt: 09 Kas 2014 11:14

Re: TDBGrid Uniq Field Error [Çözüldü]

Mesaj gönderen Efe »

Cevabı kendim vereyim :D

Kod: Tümünü seç

procedure TDM.FDQuery1UpdateError(ASender: TDataSet; AException: EFDException;
  ARow: TFDDatSRow; ARequest: TFDUpdateRequest; var AAction: TFDErrorAction);
begin
   AAction:=eaExitFailure;
   MessageDlg('Bu mail adresinin aynısı zaten veri tabanında var.',
               mtWarning, [mbOK], 0);

   ASender.Close;
   ASender.Open;


end;
Cevapla