Zamiana NULL na wartość 0

Odpowiedz Nowy wątek
2006-08-01 09:41
0

Witam
jak zwykle mam banalny problem

robie sobie zapytanie sql ktrórego wynikiem jest suma z pól
wszystko jest oki dopóki suma nie ma wartości NULL
wtedy przy pobieraniu wartości za pomocą tego kodu

wyn1:=qrRMW1.FieldByName('ilosc').AsInteger;

dostaje komunikat


'"is not valid integer value

wiem że jest to spowodowane tym ze delphi nie może sobie poradzić z przekształceniem wartości null na wartość 0

co ciekawsze dzieje sie to tylko na bazie mysql 5 na mysql 4 i 3 NIE MA tego błedu

wiec pozostaje pytanie jak zamienic w delphi wartosc null na 0


"...tylko dwie rzeczy są nieskonczone, wszechświat i ludzka głupota, lecz co do tej pierwszej nie mam pewności..."

Pozostało 580 znaków

2006-08-01 10:00
Ad
0
if qrRMW1.FieldByName('ilosc').AsInteger=null then wyn1:=0
else wyn1:=qrRMW1.FieldByName('ilosc').AsInteger;
genius23 napisał(a)

jak zwykle mam banalny problem

Jak zwykle banalna odpowiedź. :-D


Pozostało 580 znaków

2006-08-01 13:10
spc
0
Ad napisał(a)
if qrRMW1.FieldByName('ilosc').AsInteger=null then wyn1:=0
else wyn1:=qrRMW1.FieldByName('ilosc').AsInteger;
genius23 napisał(a)

jak zwykle mam banalny problem

Jak zwykle banalna odpowiedź. :-D

To raczej tez sie wywali. Proponuje zamienic:

if qrRMW1.FieldByName('ilosc').AsInteger=null

na

if qrRMW1.FieldByName('ilosc')=null

00, OK, 00, 00
...dziś się to robi na sprzętach, kiedyś na patentach...

Pozostało 580 znaków

2006-08-01 13:14
0

nie raczej a na 100%

jeśli to FB/IB/PostgreSQL/MySQL (w 5 jest na 100%) to zmień zapytanie na

SELECT CASE WHEN SUM(pole_ktore_sumujesz) IS NULL THEN 0 ELSE SUM(pole_ktore_sumujesz) END FROM tabela

- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-08-03 07:49
0

Witam
dzieki wszzystkim za odpowiedź

po glebszej kombinacji zrobiłem to tak

wynik2:=qrRMW1.FieldByName('ilosc').AsString;
if wynik2='' then
wynik:=0
else
wynik:=qrRMW1.FieldByName('ilosc').AsInteger;

przy czym wartosc wynik2 jest typu STRING

Misiekd prawdopodobnie twoje zapytanie bedzie działać , jak znajde czas to go stestuje.


"...tylko dwie rzeczy są nieskonczone, wszechświat i ludzka głupota, lecz co do tej pierwszej nie mam pewności..."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0