Verdiginiz linke girilemiyor cunku link o an size acilan session'a ait bir link.
Eger null ile baska rakamların toplanlasının sonucunun yine null olmasına bug diyorsanız bu pek bu sayilmaz. Bildigim kadari ile butun veritabanalrında null + 3=null olur. Yani mattematikte sonsuz ile toplamak gibi null + 3 =3 olmasını beklemek null için sıfır olarak dikkate alınsın demektir. oysa sıfır ile null birbirinden tamamen farklıdır ve de farklı olmasını da isteriz. Yani deger atanmamışlık ile dıfır değeri anamış olmasını ayrı ayrı görmek ve bilmek isteriz aslında...
Buradaki en büyük eksiklik firebird'de isnull gibi bi fonksiyonun olmaması idi ki bunun müjesi da safak beyin verdigi link altında var..
kolay gelsin...
Sql hakında
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Herkese selamlar,
Öncelikle Fahrettin beyin bahsettiği gibi Null'da kendi başına bir değerdir ve HİÇ anlamında kullanılır.
Örneğin bir alanda 0 değeri de kabul edilebilir bir değer olsun (yani veri girişinde kullanılan bir sayı olsun) ancak siz değer girilmemiş alanları sorgulamak istediğinizde 0'ı (Sıfırı) kullanamazsınız bu sebeple NULL değerleri kontrol edebilirsiniz. Bunun gibi çeşitli yerlerde kullanılmakta
Firebird ile ilgili olarak da UDF'leri arasında mevcut yaptığını söylüyor ama benim denemelerimde olumlu sonuç alamadım bu sebeple kendim oturup yazmıştım. Microsofrt SQL Serverdaki IsNull'a benzer bir UDF. Ben bu şekilde aşmıştım.
Eğer isterseniz bu UDF'in DLL'ini ve nasıl kullanılacağını Admin'ime göndereyim Siteye yerleştirsin. Ordan DL ederek kullanın.
Kolay gelsin.
Öncelikle Fahrettin beyin bahsettiği gibi Null'da kendi başına bir değerdir ve HİÇ anlamında kullanılır.
Örneğin bir alanda 0 değeri de kabul edilebilir bir değer olsun (yani veri girişinde kullanılan bir sayı olsun) ancak siz değer girilmemiş alanları sorgulamak istediğinizde 0'ı (Sıfırı) kullanamazsınız bu sebeple NULL değerleri kontrol edebilirsiniz. Bunun gibi çeşitli yerlerde kullanılmakta

Firebird ile ilgili olarak da UDF'leri arasında mevcut yaptığını söylüyor ama benim denemelerimde olumlu sonuç alamadım bu sebeple kendim oturup yazmıştım. Microsofrt SQL Serverdaki IsNull'a benzer bir UDF. Ben bu şekilde aşmıştım.
Eğer isterseniz bu UDF'in DLL'ini ve nasıl kullanılacağını Admin'ime göndereyim Siteye yerleştirsin. Ordan DL ederek kullanın.
Kolay gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
-
- Üye
- Mesajlar: 50
- Kayıt: 12 Haz 2003 09:53
- Konum: www.mussimsek.com
Merhaba
Kullandığınız veritabanında "IIF" diye bir fonksiyon geçerli mi bilmiyorum.
Ben de SQL Server ve Accessde benzer sıkıntılar yaşamıştım.
Problemi "IIF" kullanarak şöyle çözmüştüm:
Kullandığınız veritabanında "IIF" diye bir fonksiyon geçerli mi bilmiyorum.
Ben de SQL Server ve Accessde benzer sıkıntılar yaşamıştım.
Problemi "IIF" kullanarak şöyle çözmüştüm:
Kod: Tümünü seç
SELECT (IIF(m1 IS NULL, 0, m1) + IIF(m2 IS NULL, 0, m2) + IIF(m3 IS NULL, 0, m3)) AS toplam FROM kasa
Fahrettin bey default değer atayamamamız için bug olabilir demiştim.
Link için özürdilerim. http://www.tamaracka.com adresine girip Search Borland Newsgroups satırına "defaultvalue ^database" yazarak arama yaptırın. Gelen sonuç ekranında 3. sayfadaki "Re: displaying default field values while app" başlıklı 3. Articlede bahsettiğim yazıya ulaşabilirsiniz.
Şunu eklemek istiyorum...
Yapmak istediğim toplamı kodumda değişiklik yaparak hallettim. Bu konuyu uzatmamın sebebi bende dahil formdaki bütün kullanıcıların bu problem (default değer atayamama) hakkında kafalarında herhan gibi bir soru işareti kalmamasını istemem. Problem sende. Bazı yerlerde yanlış kodlama yapıyorsun yada gözden kaçırdığın bir şey olmalı diyebilirsiniz, tabiiki olabilir. Bundan dolayı bir önceki mesajımda verdiğim linkten yazdığım deneme amaçlı basit örneği yükleyerek yardımcı olabilirsiniz. Bu örnekte ibexpert'te hazırlanmış bir data dosyası ve delphi6'da hazırlanmış bir proje var.
Link için özürdilerim. http://www.tamaracka.com adresine girip Search Borland Newsgroups satırına "defaultvalue ^database" yazarak arama yaptırın. Gelen sonuç ekranında 3. sayfadaki "Re: displaying default field values while app" başlıklı 3. Articlede bahsettiğim yazıya ulaşabilirsiniz.
Şunu eklemek istiyorum...
Yapmak istediğim toplamı kodumda değişiklik yaparak hallettim. Bu konuyu uzatmamın sebebi bende dahil formdaki bütün kullanıcıların bu problem (default değer atayamama) hakkında kafalarında herhan gibi bir soru işareti kalmamasını istemem. Problem sende. Bazı yerlerde yanlış kodlama yapıyorsun yada gözden kaçırdığın bir şey olmalı diyebilirsiniz, tabiiki olabilir. Bundan dolayı bir önceki mesajımda verdiğim linkten yazdığım deneme amaçlı basit örneği yükleyerek yardımcı olabilirsiniz. Bu örnekte ibexpert'te hazırlanmış bir data dosyası ve delphi6'da hazırlanmış bir proje var.
Örnek projeyi açıp baktim. Gerçekten IBDataSet ile yapılan insrt işlemi sonucunda default değerler atanmıyor... Interbase ile ben hep BDE üzerinden standart Table componentleri kullanırdım. İyi ki de öyle yapmışım diyorum şimdi
Zira aynı işlemi bir TDatabase ve TTable kullanarak bir de BDE alias oluşturarak yapınca sorun çıkmıyor...
Sanırım IBDatabase, IBTransaction ve IBDataset üçgeni içinde biryerlerde ya bir bug veya bir püf nokta var. Tabi veritabanından beklenen bir görevi iptal edecek bir püf nokta da olamaz herhalde. Aksi bir durum olmadığı sürece bunun bug olduğu fikrinize katılıyorum....

Sanırım IBDatabase, IBTransaction ve IBDataset üçgeni içinde biryerlerde ya bir bug veya bir püf nokta var. Tabi veritabanından beklenen bir görevi iptal edecek bir püf nokta da olamaz herhalde. Aksi bir durum olmadığı sürece bunun bug olduğu fikrinize katılıyorum....
Delphi6'nin ib bileşenlerinde problem olabileceğini düşünerek delphi7'yi bilgisayarıma yükledim ama değişen birşey olmadı. Bahsettiğim yazıyı ve aynı arama sayfasında onun hemen üstündeki "Re: Default values are coming Null to client." başlıklı yazıda, tartıştığımız konu ile ilgili bazı açıklamalar yapılmış ama bir türlü tam çeviri yapamadım.
Bence bu daha çok database server (interbase,firebird) ile ilgili bir şey gibi geliyor. Çok büyük bir ihtimalle bunu ilk biz fark etmedik. Yani eğer bir bug olsa şu zamana kadar çoktan hem interbase'de hemde firebird'de düzeltilirdi.
Bence bu daha çok database server (interbase,firebird) ile ilgili bir şey gibi geliyor. Çok büyük bir ihtimalle bunu ilk biz fark etmedik. Yani eğer bir bug olsa şu zamana kadar çoktan hem interbase'de hemde firebird'de düzeltilirdi.