Atadığım değeri NULL olarak algılıyor

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
a.mikayil
Üye
Mesajlar: 83
Kayıt: 07 Ağu 2010 01:55

Atadığım değeri NULL olarak algılıyor

Mesaj gönderen a.mikayil »

Arkadaşlar çok ilginç bi problemle karşılaştım.

Kod: Tümünü seç

	    SELECT @COEF = COEF
	    FROM   LAZS_COEF AS CF
	    WHERE  (ONFORCEDATE < @CALCYEAR)
	           AND (OFFORCEDATE >= @CALCYEAR)
	           AND (SUBJGROUPID = @SUBJGROUPID)
	           OR  (ONFORCEDATE < @CALCYEAR)
	           AND (OFFORCEDATE IS NULL)
	           AND (SUBJGROUPID = @SUBJGROUPID)

	    SET @CALCED = @AREA * @COEF
	    --	NOW WE'RE UPDATING THE PREVIUOS AND TOTAL REMAINDER
	    UPDATE AZS_COM
	    SET    PREVREM = ISNULL(TOTALREM, 0)
	    WHERE  COMID = @COMID
	    
	    UPDATE AZS_COM
	    SET    TOTALREM = (ISNULL(TOTALREM, 0))+ @CALCED
	    WHERE  COMID = @COMID


Kısaca anlatayım: Önce parametre olarak girdiğim @SUBJGROUPID ve @CALCYEAR la COEFi buluyor ve @COEFe atıyorum.(@COEF bi değişken) Daha sonra yine de parametre olarak gönderdiğim @AREA yı @COEFle çarparak @CALCED alıyorum.(@Calced bi değişken).SOnra diyorum ki, PREVREM=TOTALREM. Burada bi problem yok. Ama ikinci Update'e gelince @CALCED her halde NULL olarak algılıyor ki, TOTALREM NULL oluyor.
Denedim, @CALCED yerine her hangi bir rakam yazdığım zaman çalışıyor. Mesela desem ki
UPDATE AZS_COM
SET TOTALREM = (ISNULL(TOTALREM, 0))+ 50
WHERE COMID = @COMID
hiç bi problem yok.
En son a.mikayil tarafından 27 Ağu 2010 07:21 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
İstikrar sürsün, Türkiye'm büyüsün inşallah.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: atadığım değeri null olarak algılıyor

Mesaj gönderen aslangeri »

s.a.
öncelikle başlığın tamamını büyük harfle yazmanın doğru olmadığını hatırlatır en kısa zamanda düzeltmeni dilerim.
soruna gelince select ifadenden dönen COEF değerinin null olup olmadığını kontrol et derim.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
Rew33
Üye
Mesajlar: 70
Kayıt: 10 Tem 2009 02:28

Re: Atadığım değeri NULL olarak algılıyor

Mesaj gönderen Rew33 »

sorunun büyük ihtimalle @AREA değişkeninin null değerli olması,bide @AREA değişkenine hiçbiryerde değer aktarmamışsın eğer delphiden değişken gönderiyorsan @ işareti değilde : işareti kullanmalı ve params komutuyla queryi açmadan parametreye değer göndermelisiniz.
Kimseye hiçbir şey öğretemem, sadece onların düşünmelerini sağlayabilirim.
SOKRATES
Cevapla