[vbscript] Problemen met toevoegen van een null in database

Pagina: 1
Acties:

  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 19-05 21:37
Hallo, ik heb hier een stuk code voor het updaten van mn database. Deze code kijkt onder andere naar data in dbase bestanden (waarmee hij een connectie aanmaakt).

Nu is er in de dbase bestanden soms voor een bepaald tijdstip geen data aanwezig, dat wordt dan aangegeven met het getal -999.
Aangezien ik de data uiteindelijk weergeef in grafieken is dit natuurlijk hardstikke onhandig en wil ik gewoon dit datapunt verwerpen door een null toe te voegen.

Dit doe ik met de volgende code:

code:
1
if rsdbf3("ta6beek") = "-999" then ta6beek(t) = NULL


Het vreemde is echter dat als ik de grafiek maak, er uiteindelijk normale 0 waarden komen te staan. Het gaat hier om temperatuur, dus vooral in de zomer werkt dit erg storend en in de winter is het erg verwarrend.

Ik heb al allerlei variaties geprobeerd, maar niets lijkt te werken:

code:
1
2
3
4
5
if rsdbf3("ta6beek") = "-999" then ta6beek(t) = ""

of

if rsdbf3("ta6beek") = "-999" then ta6beek(t) = "NULL"


De laatste geeft direct een error dat hij een varchar niet naar float kan omzetten, daz dus erg logisch :). De anderen geven gewoon een 0. Ik heb in mn database in de desbetreffende kolommen nulls allowed.
Het is een nogal dringend probleem (morgen moet een verslag afzijn met het liefst de juiste plaatjes en resultaten, dus alle hulp is heel erg welkom! :)

Alvast bedankt.

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Ik heb vrijwel geen verstand van VBScript, maar is het niet makkelijker om tijdens het maken van je grafiek te kijken of de waarde -999 is, en wanneer dat zo is, deze of niet weer te geven, of iets anders mee te doen? Maar het blijft natuurlijk wel gek dat je geen NULL mag invoeren..

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Als je NULL values in je DB wilt, kan je dit doen:
code:
1
UPDATE tabel SET waarde = NULL WHERE waarde = -999


Bij het ophalen van je gegevens kan je volgende query doen (ongeveer, je moet 'm zelf maar naar de juiste query bakken, maar je snapt het idee wel):
code:
1
2
SELECT * FROM tabel
WHERE waarde IS NOT NULL

https://fgheysels.github.io/


  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 19-05 21:37
Het is mogelijk maar zeker niet makkelijker, ook omdat het maar in een datareeks voorkomt en de andere weer niet. Dit is alleen maar een script voor het updaten van de database. In de database heb ik liever overal een gelijkwaardige opbouw.

Het rare vind ik eigenlijk, dat het wel werkt, maar dat hij ipv een null een 0 neerzet.

  • DarkShadow
  • Registratie: Juli 2000
  • Laatst online: 19-05 21:37
whoami schreef op 24 juni 2004 @ 11:14:
Als je NULL values in je DB wilt, kan je dit doen:
code:
1
UPDATE tabel SET waarde = NULL WHERE waarde = -999


Bij het ophalen van je gegevens kan je volgende query doen (ongeveer, je moet 'm zelf maar naar de juiste query bakken, maar je snapt het idee wel):
code:
1
2
SELECT * FROM tabel
WHERE waarde IS NOT NULL
yup zo kan het ook, maar de query wordt pas later in de code gemaakt:

code:
1
UPDATE beek SET debav_t2m = '" & tabeek(0) & "' WHERE datum blaat blaat etc


Dus die variabele wordt dan al aangeroepen, vbscript kan geen null waarden in een array stoppen dus?