| kadirkurtoglu | 23.07.2005 - 17:00:23 |
| S.A.
arkadaşlar kalsik bir soru soaracam ancak bu konuda çok arama yaptım. bir türlü konuyu aşamdım vt:fb 1.5 Bağlanntı : IBX (IBdataset) pro:D7 PrimaryKey lerin boş geçilemez(notnull) ve birebir aynı olmama durumaları gözönüne alındığına if edit1.text := '' then
showmessage('bu alan boş geçilemez'); edit1.setfocus; kod bloğu ile alana değer girilmesini zorunlu hale getiriyoruz. peki bu değer daha önce kaydedilmiş fielde eşitse işte burda takıldım. denemediğim yol kalmadı locate, like vb. işlemler ile sonuca birtürlü ulaşamadım. soru belki çok klasik ancak ben içinden çıkamadım. | |
| assoft | 23.07.2005 - 22:26:38 |
| Biz genelde primary keyleri otomatik artan bir numaraya yani AUTOINC bir alana veririz ama senin yapmak istediğin şeyin ne olduğunu tam olarak anlamadım yani sen bu primary key'i hangi alana atadın.
Eğer sende atıyorum stok_no gibi bir integer alana atadıysan buna göre : IBQuery1.Close; IBQuery1.SQL.Clear; IBQuery1.SQL.Add(Select * From Stok Where Stok_no = '''+ Edit1.Text +''''); IBQuery1.Open; if IBQuery1.RecordCount > 0 then Showmessage ('Bu Kayıt Zaten Tabloda Mevcut') else //aradığın kayıt yok ne yapmak istyiyorsan artık burdan sonrasına yazacaksın .... umarım açıklayıcı olabilmişimdir... | |
| coderlord | 23.07.2005 - 23:16:59 |
| Post işlemi esnasında bu kontrolü yapmanı öneririm. Post 'u tr except içine alır, except bloğunda hataları işler ve gösterirsin. Çift kayıt oluştuğunda Key violation verecektir. Bunu kullanıcıya uygun şekilde gösterirsin. | |