ado query before post

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Ahmet ALTUNTAŞ
Üye
Mesajlar: 94
Kayıt: 10 Tem 2010 08:05
Konum: TEKİRDAĞ

ado query before post

Mesaj gönderen Ahmet ALTUNTAŞ »

Kod: Tümünü seç

if YgnBkmPostYgnBkm_MesaiGun.Value <= 0 then
begin
if messagebox(0,'Hesap Kodu Boş Bırakılamaz.Lütfen Hesap Kodu Kısmını Doldurunuz',
'Uyarı',MB_OK or MB_ICONINFORMATION) = MROK then
Abort;
end;
merhaba
tablodaki edit içerisindeki deger 0 ' sa veya 0 'dan küçükse post olayı gerçekleşmesin ve kullanıcıyı uyarsın istiyorum.Ado query'nın before post,before insert gibi eventleri yukarıdaki kod ile işledim hatta sql de alanı not null olarak degiştirdim fakat bir turlu post olayını engelleyemedim.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S

Başarı Bir Yolculuktur, Varış Noktası Değil...!
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: ado query before post

Mesaj gönderen mkysoft »

Kod: Tümünü seç

SysUtils.Abort;
komutunu deneyin. If yapınızın çalıştığından emin olun.
Kullanıcı avatarı
Ahmet ALTUNTAŞ
Üye
Mesajlar: 94
Kayıt: 10 Tem 2010 08:05
Konum: TEKİRDAĞ

Re: ado query before post

Mesaj gönderen Ahmet ALTUNTAŞ »

cevap için teşekkğr ederim.
fakat ne yaptıysamm bır turlu olmuyor.
Bu kezde abort: olayı gercekleşiyor fakat içerisinde deger varsada yoksada abort edıyor.Anlamadım gitti:
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S

Başarı Bir Yolculuktur, Varış Noktası Değil...!
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: ado query before post

Mesaj gönderen emin_as »

Aşagıdaki kodu kullan.
Abort sessiz bir şekilde programı kesmek içindir, mesaj vermen gerekiyorsa exception yaratman daha dogrudur.
Kontrol kısmına field in boş olması durumunu da ekledim.

Kod: Tümünü seç

if  YgnBkmPostYgnBkm_MesaiGun.isnull or (YgnBkmPostYgnBkm_MesaiGun.Value <= 0) then
begin
  raise EDataBaseError.Create('Hesap Kodu Boş Bırakılamaz.Lütfen Hesap Kodu Kısmını Doldurunuz');
end;
Kullanıcı avatarı
Ahmet ALTUNTAŞ
Üye
Mesajlar: 94
Kayıt: 10 Tem 2010 08:05
Konum: TEKİRDAĞ

Re: ado query before post

Mesaj gönderen Ahmet ALTUNTAŞ »

Kod: Tümünü seç

procedure TfrmYogunBkm.JvShapedButton1Click(Sender: TObject);
begin
if RadioButton1.Checked = true then
if edit1.Text = '' then
begin
  raise EDataBaseError.Create('* ile İşaretli Alanları Doldurmanız Gerekir!');
end;
if edit1.Text <= inttostr(0) then
begin
  raise EDataBaseError.Create('* ile İşaretli Alanları Doldurmanız Gerekir!');
end;
if  edit2.Text <= inttostr(0)  then
begin
  raise EDataBaseError.Create('* ile İşaretli Alanları Doldurmanız Gerekir!');
end;
if RzDateTimeEdit1.Text = '' then
begin
  raise EDataBaseError.Create('* ile İşaretli Alanları Doldurmanız Gerekir!');
end;
if RzDateTimeEdit2.Text = '' then
begin
  raise EDataBaseError.Create('* ile İşaretli Alanları Doldurmanız Gerekir!');
end;
Teşekkür ederim.butonun click olayına şu şekilde kodları yazarak sonuç aldım.Yalnız

Kod: Tümünü seç

if edit1.Text = '' then   
if edit1.Text <= inttostr(0) then
bu 2 if kısmını or ile birleştiremedim 2 sefer if kullanmak zorunda kaldım.
Ahmet ALTUNTAŞ
MCP - MCTS
MCSA+S - MCSE+S

Başarı Bir Yolculuktur, Varış Noktası Değil...!
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: ado query before post

Mesaj gönderen unicorn64 »

yalnız kontrol kısmında mantık hatanız var. sıfırı stringe çevirip editteki text ile karşılaştırmışsınız, editteki texti integer a çevirip sıfırla karşılaştırmanız gerekirdi...

Kod: Tümünü seç

if ((edit1.Text = '') or (strtoint(edit1.Text) <= 0)) then
begin
     raise EDataBaseError.Create('* ile İşaretli Alanları Doldurmanız Gerekir!');
end;
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Cevapla