Arkadaşlar merhaba Aynı Kaydı Bir daha yapmak istemiyorum bu şekilde kod kullanıyorum bu seferde yeni yadı kayıt yapmıyor
Last İşlemini yanlış yerde mi kullanıyorum
procedure TDepoHucresi.kaydetClick(Sender: TObject);
var
bul: boolean;
begin
bul := Data.DepoR.Locate('DEPOR_RAFI', DBEdit1.Text, []);
if bul = true then
begin
Showmessage('Bu Depo Rafı Kayıtlı');
Data.DepoR.Last;
end;
end;
Kayıt Kontrol
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 121
- Kayıt: 10 Ara 2015 10:39
Re: Kayıt Kontrol
Bu şekilde yapmak yerine veritabanı kısmında yapsan daha sağlıklı olur. Veritabanı olarak ne kullanıyorsun bilmiyorum ama ben firebirdde şu şekilde yapıyorum. Öncelikle indices alanından bir tane index tanımlıyorum örneğin TC Kimlik No kontrolü yapmak için TC_KIMLIK_NO_X şeklinde. Delphi kısmında ise kullandığım datesetin OnPostError kısmına şu kodu yazıyorum;
Bu şekilde delphi kısmında herhangi bir döngü veya filtreleme kullanmadan kontrolü veritabanıyla hallediyorum.
Kod: Tümünü seç
if Pos('TC_KIMLIK_NO_X', E.Message)>0 then
begin
Application.MessageBox('Bu Üye Daha Önce Kaydedilmiş !!!','Uyarı Mesajı', MB_OK + MB_ICONERROR);
Action := daAbort;
Kursiyer_Karti.DBEdit1.SetFocus;
end;
-
- Üye
- Mesajlar: 11
- Kayıt: 12 Ara 2015 04:17
Re: Kayıt Kontrol
Kabul Etmedi bende firebird Kullanıyorum ama Birleşen olarak IBDataSet1 yardımlarını rica ederim
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Kayıt Kontrol
Aşağıdaki Şekilde Ayrı bir query de sorgulatabilirsin kaydetmeden önce
Kod: Tümünü seç
if qry_cariler.State = dsinsert then
begin
cumle:='';
cumle:=cumle+' and firmaid='+QuotedStr(IntToStr(firmaid));
cumle:=cumle+' and carikod='+QuotedStr(edt_CARIKOD.Text);
qry_uyari.Close;
qry_uyari.SQL.Text:='';
qry_uyari.SQL.Text:='select * from cariler where 1=1'+cumle+'';
qry_uyari.Open;
qry_uyari.FetchAll;
if qry_uyari.RecordCount > 0 then
begin
ShowMessage('Bu Cari Kod Daha Önce Kullanılmış Lütfen Başka Bir Kod Deneyiniz');
edt_CARIKOD.SetFocus;
Abort;
end;
end;
Mücadele güzelleştirir!
-
- Üye
- Mesajlar: 121
- Kayıt: 10 Ara 2015 10:39
Re: Kayıt Kontrol
Kabul etmedi derken hata mı verdi. Hata verdiyse hata mesajını paylaşır mısın? Ben sıkıntısız kullanıyorum bu şekilde.
Re: Kayıt Kontrol
Dbedit veri bilinçli bir bileşendir arama yapacaksınız farklı bir datasetten okutmanız gerekli
if farklıdataset.Locate('DEPOR_RAFI', DBEdit1.Text, [])=True then
begin
kayıt mevcut.....
end
else
begin
verilenirinizi buraya post edin..
güncellemeyi unutmayınız..
end;
if farklıdataset.Locate('DEPOR_RAFI', DBEdit1.Text, [])=True then
begin
kayıt mevcut.....
end
else
begin
verilenirinizi buraya post edin..
güncellemeyi unutmayınız..
end;