Article View: be.comp.programming
Article #726Re: null waarden in datatable
From: John Bokma
Date: Sun, 14 May 2006 18:00
Date: Sun, 14 May 2006 18:00
52 lines
3170 bytes
3170 bytes
StriKe <strike_usenet@internetfreakz.be.invalid> wrote:
>> StriKe <strike_usenet@internetfreakz.be.invalid> wrote:
>>
>> "12341" is text, en "" ook :-)
>
> Dus als ik het nu goed begrijp doet IsNumeric eigenlijk niets anders
> dan zien of de Ascii waarden van elk teken in de 'numerieke range'
> liggen?
Het doet precies zoals het heet: het kijkt of de string een getal is (vaak
in een aantal presentatievormen, dus met komma, wetenschappelijke notatie,
etc).
Een lege string is geen getal. Aangezien je NULL waarde toestaat in je
tabel ben ik er vanuit gegaan dat NULL in dit geval geen waarde/waarde
onbekend betekend, en heb ik "" gelijk gesteld aan NULL.
> Ik heb dit geschreven:
>
> If TtxtUitgever.Text.Length > 0 Then dr(0)(6) = TtxtUitgever.Text
>
> Op het eerste zicht lijkt dit ook te werken en zou het dat in theorie
> volgens jou ook moeten doen? Of hoe zou ik het alsnog beter kunnen
> formuleren?
Wat mij het meest zinnige lijkt is:
- als NULL mag, en "geen waarde/onbekend" is, en ingevoerd mag worden, zou
ik "" als NULL behandelen, dus als de lengte 0 is (of de string is gelijk
aan "") zou ik NULL in de database stoppen. Nu doe je niets. Wat neerkomt
op: de gebruiker wist de waarde 5 uit een veld, en verhip, de volgende
keer is die waarde terug.
Als ""/NULL *niet* ingevoerd mag worden door de gebruiker, dan moet je
natuurlijk dat afvangen.
- Als de string een lengte heeft, dan moet je controleren of het een
geldige waarde is, dus: is het een getal *en* valt het getal binnen het
toegestane bereik. Zoniet zou je weer naar de gebruiker moeten klagen dat
een ongeldige waarde is ingegeven. Sommige UI libraries maken het mogelijk
om in, b.v. een invoerveld, al beperkingen op te leggen, b.v. je mag 1 tot
5 cijfers invoeren en verder niks. Of als je "leeg" toestaat: je mag 0 tot
5 cijfers invoeren en verder niks.
--
John Bokma
Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
Technical Details
Message-ID:
<Xns97C3843F219D8castleamber@130.133.1.4>Path:
arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mailReferences:
<mn.70ea7d65b632223d.48459@internetfreakz.be.invalid> <4466d12a$0$31656$e4fe514c@news.xs4all.nl> <mn.72987d655341e791.48459@internetfreakz.be.invalid> <Xns97C32C1F380FDcastleamber@130.133.1.4> <mn.72c57d65245bb296.48459@internetfreakz.be.invalid>Show Full Headers
Complete Article Headers
X-Google-Thread: fcea4,1065910732a62429
X-Google-Attributes: gidfcea4,public
X-Google-Language: DUTCH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news2.google.com!news1.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: John Bokma <john@castleamber.com>
Newsgroups: be.comp.programming
Subject: Re: null waarden in datatable
Date: 14 May 2006 18:00:03 GMT
Organization: Castle Amber - software development
Lines: 52
Message-ID: <Xns97C3843F219D8castleamber@130.133.1.4>
References: <mn.70ea7d65b632223d.48459@internetfreakz.be.invalid> <4466d12a$0$31656$e4fe514c@news.xs4all.nl> <mn.72987d655341e791.48459@internetfreakz.be.invalid> <Xns97C32C1F380FDcastleamber@130.133.1.4> <mn.72c57d65245bb296.48459@internetfreakz.be.invalid>
X-Trace: individual.net 2NhLZRJ871pVawvk+xWU2gJ/z8WKED2iZkusUcWUVFmWSRwGIT
User-Agent: Xnews/2005.10.18
X-Face: $7h&5K*ZL9*ZQ\6Hco2"V?1dD*C<ab^>zlws[S%i0b,@gKk|[,)Y-<hk143{.Ov"x{({zo( l,N\m`-_^nJfVQdEyt+-uAP^7WG]5mHj9&::7X-qK;Yv;xmRvNWQR"_igw+cr5WMj;6:zlj<R80Ei@ $gGWq&*{FL*kC*a