Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ASP] Een lege string vullen met een 0 werkt niet

Pagina: 1
Acties:

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 24-11 21:03
Oké, ik heb een sql-query die in een tijdlijsten database een optelsom maakt van TotaalUren van een bepaald ordernummer en subnummer.

code:
1
SQLstringUitv = "SELECT SUM(TotaalUren) AS UitvVerwerkt FROM Tijdlijst WHERE OrderNummer LIKE '" & OrdNum & "' AND SubNummer LIKE '" & SubNum & "' AND UitvoeringManagement LIKE 'Uitvoering'"

Nu als er uren zijn geschreven werkt alles perfect en krijg ik netjes het aantal uur te zien.

Maar als er geen uren zijn geschreven krijg ik een lege waarde. Dit staat uiteraard niet mooi en daar wil ik een 0 van maken.

Nu dacht ik, ik gebruik:
ASP:
1
2
3
4
5
If RS("TotaalUren") = "" Then
    TotaalUren = "0"
Else
    TotaalUren = RS("TotaalUren")
End If


Maar dan krijg ik toch een lege string. Ook als ik ipv "" Null neerzet werkt ook niet. Als ik Response.Write "TotaalUren:'" & RS("TotaalUren") & "'" neerzet krijg ik alleen de tekst TotaalUren:'' te zien!

Wie kan mij helpen om toch een 0 erin te krijgen?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • Kama
  • Registratie: Mei 2002
  • Laatst online: 15-11 11:19

Kama

Game Coordinator

Gebruik ISNULL(value1, value2):

Select ISNULL(SUM(TotaalUren),0) AS ....

Isnull geeft value1 terug als value1 niet NULL is en value2 terug als value1 wel NULL is.

drs. Kama


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 24-11 21:03
Kama schreef op 15 april 2003 @ 11:42:
Gebruik ISNULL(value1, value2):

Select ISNULL(SUM(TotaalUren),0) AS ....

Isnull geeft value1 terug als value1 niet NULL is en value2 terug als value1 wel NULL is.
Ik heb hem in de Query gezet en dan geeft hij een foutmelding, nu heb ik er dus ManVerwerkt = ISNULL(ManVerwerkt, 0) en dan krijg ik de melding "Onjuist aantal argumenten of ongeldige eigenschaptoewijzingen: 'ISNULL' "

Ik snap daar echt helemaal niks van, je krijgt een lege string, dus zou je zeggen dat je dat kunt vergelijken met "" maar ja!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Verwijderd

Kama schreef op 15 April 2003 @ 11:42:
Gebruik ISNULL(value1, value2):

Select ISNULL(SUM(TotaalUren),0) AS ....

Isnull geeft value1 terug als value1 niet NULL is en value2 terug als value1 wel NULL is.
Isnull(x) geeft gewoon TRUE of FALSE terug, afhankelijk van of x NULL is of niet. De naam zegt het min of meer al... :)

Volgens mij bedoel je de functie NZ.
NZ(value1, value2) geeft value1 terug als die ongelijk NULL is, en anders value2...

  • KoeKk
  • Registratie: September 2000
  • Laatst online: 24-11 19:11
En als je het volgende probeerd:
ASP.NET Visual Basic:
1
2
3
4
5
If IsNull(RS("TotaalUren")) Or RS("TotaalUren") = "" Then
    TotaalUren = 0
Else
    TotaalUren = RS("TotaalUren")
End If


Als dit nog niet werkt kan je gaan checken of het foutje in je If clausule zit:
ASP.NET Visual Basic:
1
2
3
4
5
6
7
If IsNull(RS("TotaalUren")) Or RS("TotaalUren") = "" Then
    Response.Write "Leeg"
    'TotaalUren = 0
Else
    Response.Write "Gevuld"
    'TotaalUren = RS("TotaalUren")
End If


Wordt er dan Gevuld naar je scherm geschreven weet je dat het fout gaat in je If ... Then :)

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 24-11 21:03
KoeKk:
Ik heb je bovenste code gebruikt EN DAT WERKT WEL.

Gelukkig krijg ik nu weer moeie pagina's waar ook 0-en staan ipv lege stukjes!

Maar ik blijf het gek vinden dat je niet gewoon "" kan gebruiken, maar ja, VB is van M$ dus zegt als genoeg :)

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Polderdijk schreef op 15 April 2003 @ 12:41:
Maar ik blijf het gek vinden dat je niet gewoon "" kan gebruiken, maar ja, VB is van M$ dus zegt als genoeg :)
Dit zegt natuurlijk meer over jouw kennis van vbscript en sql dan over MS.
Lees eens een goed boek voordat je je mening ventileert in het openbaar, dat staat een stuk volwassener.

Today's subliminal thought is:


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:15

gorgi_19

Kruimeltjes zijn weer op :9

Polderdijk schreef op 15 april 2003 @ 12:41:
Maar ik blijf het gek vinden dat je niet gewoon "" kan gebruiken, maar ja, VB is van M$ dus zegt als genoeg :)
Wat is daar gek aan?

Null != 0 != "0"

En trollen naar Microsoft hoeft ook weer niet.. :| Dat jij niet met een taal kan werken, wil niet zeggen dat het een slecht product is...

[ Voor 25% gewijzigd door gorgi_19 op 15-04-2003 12:55 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Boy
  • Registratie: November 2001
  • Laatst online: 11:36

Boy

www.byoscoop.nl

er staat " ", maar dit is toch een spatie? moet het niet = "" zijn?

edit:

sorry, draad niet goed genoeg gelezen |:(

[ Voor 53% gewijzigd door Boy op 15-04-2003 16:30 ]

Naar de bioscoop? => gebruik de app op Byoscoop.nl


  • Kama
  • Registratie: Mei 2002
  • Laatst online: 15-11 11:19

Kama

Game Coordinator

Verwijderd schreef op 15 April 2003 @ 12:04:
[...]


Isnull(x) geeft gewoon TRUE of FALSE terug, afhankelijk van of x NULL is of niet. De naam zegt het min of meer al... :)

Volgens mij bedoel je de functie NZ.
NZ(value1, value2) geeft value1 terug als die ongelijk NULL is, en anders value2...
Nee hoor, ik bedoel ISNULL:

(Bron: SQL Server Books Online)

ISNULL
Replaces NULL with the specified replacement value.

Syntax
ISNULL ( check_expression , replacement_value )

drs. Kama


Verwijderd

ASP:
1
2
3
4
5
If ""&RS("TotaalUren") = "" Then
    TotaalUren = "0"
Else
    TotaalUren = RS("TotaalUren")
End If

[ Voor 27% gewijzigd door Verwijderd op 23-04-2003 02:27 ]


  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 06:12
TheMazTer mag ik vragen waar
code:
1
""&RS("TotaalUren")

op slaat?

  • siggy
  • Registratie: Juni 2001
  • Laatst online: 27-05 12:07

siggy

Wait.... what?

Je heb ook een isempty functie he :)
en " " is niet leeg maar dat is gewoon een spatie.

"I don't take life too seriously, no one gets out alive anyways..."


  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 30-10 10:59
DRAFTER86 schreef op 23 April 2003 @ 07:27:
TheMazTer mag ik vragen waar ""&RS("TotaalUren") op slaat?
Dat is een truc die ik ook vaak gebruik. Wanneer je een lege string eraan plakt (ongeacht of de string leeg of null is), is het resultaat altijd een lege string en je kunt daar dus vervolgens op testen. Nooit meer problemen met het verschil tussen null-waarden en lege strings.
Pagina: 1