Toon posts:

[mysql/asp] wil geen count vergelijken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleem gehad om een count-resultaat te vergelijken. Het resultaat was dat hij steeds iets uitvoerde. Als of de count resultaat steeds groter was dan de Max_aant_deelnemers.

code:
1
2
3
4
5
Set rs_DataCount =  LoadRSFromDB("SELECT COUNT(*) as 'aantal' FROM aanmelden WHERE DataID = '"&DataID&"' AND status = 'Goedgekeurd'")

if aantal >= rs_Data("Max_aant_deelnemers") then
        doe iets
    end if


Ik heb het geprobeerd om de Max_aant_deelnemers tabel als integer en als varchar te defineren. maar dit had niet het gewenste resultaat. Ook heb ik geprobeerd om de twee getallen om te zetten naar CInt en dan te vergelijken maar ook dit mocht niet baten. Uit eindelijk is het gelukt om de twee waardes met elkaar te vergelijken door ze om te zetten met CSTR(). Zoals hieronder beschreven:

code:
1
2
3
4
5
Set rs_DataCount =  LoadRSFromDB("SELECT COUNT(*) as 'aantal' FROM aanmelden WHERE DataID = '"&DataID&"' AND status = 'Goedgekeurd'")

if CSTR(aantal) >= CSTR(rs_Data("Max_aant_deelnemers"))  then
         doe iets
    end if


Dit gaf echter het gewenste resultaat maar ik ben er nog steeds niet achter waarom dat eerdere pogingen van mij niet werkte. Misschien dat iemand mij de theorie achter dit probleem kan uitleggen.

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 15:46

Gonadan

Admin Beeld & Geluid, Harde Waren
Doe er eens haakjes om?

ASP:
1
if (aantal >= rs_Data("Max_aant_deelnemers")) then

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021

CaptBiele

No Worries!

Je code is trouwens nogal gevoelig. Kijk eens op "sql injection attack"

  • kalechinees
  • Registratie: Mei 2005
  • Laatst online: 04-03 21:01
De waarde rs('aantal') wordt hier helemaal niet doorgegeven aan de variabele aantal... zo vergelijk je
Max_aant_deelnemers steeds met een null waarde :) Ook zouden haakjes netter staan om je if statement maar ik denk niet dat dit de oplossing is.
Je hoeft btw geen quotes om aantal heen te zetten (in de query select as)

[ Voor 71% gewijzigd door kalechinees op 21-02-2006 12:44 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
CaptBiele schreef op dinsdag 21 februari 2006 @ 12:14:
Je code is trouwens nogal gevoelig. Kijk eens op "sql injection attack"
Hoe kan je trouwens weten dat het gevoelig is voor sql injection? Je ziet nergens waar hij DataID ophaalt. als er ergens boven staat
Visual Basic:
1
DataID = CInt( ... )

valt het natuurlijk wel mee.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 15:46

Gonadan

Admin Beeld & Geluid, Harde Waren
kalechinees schreef op dinsdag 21 februari 2006 @ 12:40:
De waarde rs('aantal') wordt hier helemaal niet doorgegeven aan de variabele aantal... zo vergelijk je
Max_aant_deelnemers steeds met een null waarde :) Ook zouden haakjes netter staan om je if statement maar ik denk niet dat dit de oplossing is.
Je hoeft btw geen quotes om aantal heen te zetten (in de query select as)
Bwaha, dat had ik nog niet eens gezien :D
Dat zal het wel zijn ja ;)

Maar volgens mij zijn die haakjes wel nodig omdat de ifstatement anders gaat kijken of aantal true is.
Al moet ik zeggen dat ASP al weer een tijdje terug is ;)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • kalechinees
  • Registratie: Mei 2005
  • Laatst online: 04-03 21:01
achja, iedereen heeft wel eens zo'n dag.
Was trouwens wel een debuggen van nul hoor :) altijd eerst de inhoud van je variabelen bekijken 8)7
Pagina: 1