Aynı numarayı kaydetmeme!
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Bu kodla ne yapmak istiyorsun? Manası nedir? dset_ogrenci nedir? IBDataset1 nedir? BeforePost'ta neden dset_ogrenci.edit diyorsun? BeforePost'ta neden showmessage('Kayıt Başarılı...') yazıyorsun daha kayıt olmadı ki? Daha ne diyeyim. Açıklayıcı hiçbirşey yok milleti kıvrandırıyorsun.yokname yazdı:Senin söylediğin gibi denedim Selimr ama sorun yine devam ediyor kodlar aşağıda...Kod: Tümünü seç
dset_ogrenci.Active:=false; dset_ogrenci.selectSql.Clear; dset_ogrenci.selectSql.Add('Select * from ogrenci where ogr_no=:A0'); dset_ogrenci.params[0].AsString := f_ogrkayit.DBEdit1.text; dset_ogrenci.Active:=true; if not dm.IBDataSet1.IsEmpty then begin Application.MessageBox('Bu Öğrenci numaralı kayıt zaten kayıtlı lütfen numarayı kontrol ediniz!','Uyarı',0+4); abort; end else begin dset_ogrenci.edit; //dset_ogrenci.post; showmessage('Kayıt Başarılı...'); end;
Eğer Butun topiği baştan sona okusaydın aynı öğrenci numarası olan kayıtları kaydetmeyi engellemek istediğimi dset_ogrenci ile ibdataset in ne işe yaradığını görürdün kayıt başarılı mesajınıda sadece program çalışırken görmek için yazdım. i de yazmazsam hatası veriyor
Senden başka ne yapmak istediğini anlamadım diyende çıkmadı.Kırıcı olmak istemiyorum ama hitap şekline dikkate edin biraz.
Kod: Tümünü seç
d_set_ogrenci.edit
Kod: Tümünü seç
not in edit mode
Senden başka ne yapmak istediğini anlamadım diyende çıkmadı.Kırıcı olmak istemiyorum ama hitap şekline dikkate edin biraz.
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
evet ama cevabımda doğru anladığınızı onaylamıştım.Bir yerde saçma bir hata yapıyorum ama çözemedim bir türlü asıl ben özür dilerim zamanınızı aldım.
teşekkür ederim.
teşekkür ederim.
"dset_ogrenci" ile sorgulama yapıp "IBDataSet1"'in "Empty" olup olmadığını kontrol ediyorsunuz..Acaba benim kaçırdığım bişey mi var
Evet aynen oyle dunden beri bende bununla uğraşıyorum sormadan yapmak istedim ama başaramadım
Kullandığın IBDataSet in InsertSQL i ve diğer ayarlarının tam olup olmadığını kontrol etmeni, ayrıca if den önce ; bir kayıt kaydetmeye çalışıp, breakpoint (F5) koyup adım adım çalıştırıp hangi satırda ne hata verdiğini kontrol edebilirsin..
Kod: Tümünü seç
d_set_ogrenci.edit;
d_set_ogrenci.FieldByName('OGR_NO').AsInteger := 12345; //tipi her ne ise
d_set_ogrenci.FieldByName('Alan2').AsString := '12345';
d_set_ogrenci.Post;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!

Bana harcadığınız zaman için çok teşekkürler arkadaşlar sonunda yaptım sql de hata varmış
Kod: Tümünü seç
dm.ibdataset1.Active:=false;
dm.ibdataset1.selectSql.Clear;
dm.ibdataset1.selectSql.Add('Select * from ogrenci where ogr_no='#39+f_ogrkayit.dbedit1.text+#39'');
dm.ibdataset1.Active:=true;
if not dm.IBDataSet1.IsEmpty then
begin
Application.MessageBox('Bu Öğrenci numaralı kayıt zaten kayıtlı lütfen numarayı kontrol ediniz!','Uyarı',0);
abort;
end
else
begin
dm.dset_ogrenci.edit;
showmessage('Kayıt Başarılı...');
end;
Şakamı yapıyorsun
Görmeden bakmayalım coderlord arkadaşım
defalarca sql i değiştirip değiştirip yazdım .
Hayırlı günler

Kod: Tümünü seç
dset_ogrenci.selectSql.Add('Select * from ogrenci where ogr_no='+#39+dm.dset_ogrenci.fieldbyname('ogr_no').AsString+#39+'');
Kod: Tümünü seç
dm.ibdataset1.selectSql.Add('Select * from ogrenci where ogr_no='#39+f_ogrkayit.dbedit1.text+#39'');

Hayırlı günler
-
- Kıdemli Üye
- Mesajlar: 1223
- Kayıt: 26 Nis 2005 04:08
Merhabalar,
Acemiyim ama böle bi olayı bende çalışmamda uygulamak istedim ve oluyordu. Bazı hatalarım var düzenli çalışmamıştı ama yinede aynı kayıttan var ise uyarıyordu ve yapmıyordu.
çalışmamda ilçe no diye bi alanım var ve buranın benzersiz olması gerekiyor. gerçi programımda bu alan pk uniqe ama yinede yapmak istemiştim. izlediğim yol şöyle idi. ibquery kullanmıştım. dbedit1.exit olayına
şu an çalışan kodlar elimde olmadığı için tam olarak yazamamış olabilirim. ama yapı böyle idi. ve editten çıkınca uyrıyı vererek düzeltme yapılıyordu.
eğer alan pk uniqe ise zaten bunlara gerek kalmıyor. beforepost olayına raise except uygulanarak hata yakalanıp uyarı mesajı tr verilebiliyor. bunuda birkaç gün önce ustalarımda öğrenmiştim.
kolay gelsin.
Acemiyim ama böle bi olayı bende çalışmamda uygulamak istedim ve oluyordu. Bazı hatalarım var düzenli çalışmamıştı ama yinede aynı kayıttan var ise uyarıyordu ve yapmıyordu.
çalışmamda ilçe no diye bi alanım var ve buranın benzersiz olması gerekiyor. gerçi programımda bu alan pk uniqe ama yinede yapmak istemiştim. izlediğim yol şöyle idi. ibquery kullanmıştım. dbedit1.exit olayına
Kod: Tümünü seç
ibquery1.close;
ibquery1.sql.clear;
ibquery1.sql.add('select*from ARSIVTESCIL');
ibquery1.sql.add('where ILCENO like '''+dbedit1.text'''');
ibquery1.open;
if ibquery1.recordcount >0 then
begin
showmessage('Kayıttan var');
end
else
next;
end;
eğer alan pk uniqe ise zaten bunlara gerek kalmıyor. beforepost olayına raise except uygulanarak hata yakalanıp uyarı mesajı tr verilebiliyor. bunuda birkaç gün önce ustalarımda öğrenmiştim.
kolay gelsin.
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

merhaba UpdateSQL kullanıyormusun eğer kullanıyorsan o field UpdateSQL de seçilimi belki sonradan eklemiş olabilirsin ve updatesqli güncellememişsindir çünkü bolumno boş olamaz diyor.yokname yazdı:Bölüm no not null bir alan Mustafa hocam ama ben o alana kayıt giriyorum.Orda bir problem var veritabanınada aynı yada farklı numara girsem bile hiç bir şey kaydetmiyor.Sorunu bir türlü çözemedim.
Yardımlarınız için çok teşekkürler...