[ASP]Fout in while lus?

Pagina: 1
Acties:

  • BlackBurn
  • Registratie: Juni 2001
  • Laatst online: 22:14

BlackBurn

One Ring To Rule Them All

Topicstarter
Het probleem is als volgt er eens een recordset rsCart, wat een winkelmandje moet voorstellen, maar als men een artikel wil toevoegen wat al toegevoegd is, dan mag dit niet gebeuren en moet dit op het scherm komen te staan, maar het probleem is dat blnArtAlready nooit true wordt ook al is een artikel al toegevoegd, waarschijnlijk kijk ik over de fout heen, maar ik kijk er de hele avond al scheel naar |:(
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Dim rsCart  
Set rsCart= Server.CreateObject("ADODB.Recordset")
rsCart.CursorType= adOpenKeyset
rsCart.LockType= 3 'adLockOptimistic
rsCart.Open "SELECT * FROM tbl_cart WHERE klant_id="&Request.Querystring("userid"), cnDB

Dim blnArtAlready
blnArtAlready= False
  
If rsCart.EOF or rsCart.BOF Then
  blnArtAlready= False
Else     
  rsCart.MoveFirst
  While not rsCart.EOF
    If rsCart("artikel_id")= Request.Querystring("artid")Then
    blnArtAlready= True
    End If
    rsCart.MoveNext  
  Wend
End If   

If blnArtAlready= False Then
  rsCart.AddNew
  rsCart("Klant_ID")= Request.Querystring("userid")
  rsCart("Artikel_ID")= Request.Querystring("artid")
  rsCart("Aantal")= 1
  rscart.Update
End If

If it is broken, fix it. If it ain't broken, make it better!


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

mist er niet een ) :?

  • BlackBurn
  • Registratie: Juni 2001
  • Laatst online: 22:14

BlackBurn

One Ring To Rule Them All

Topicstarter
Op maandag 18 februari 2002 22:53 schreef ACM het volgende:
mist er niet een ) :?
Sorry had ik per ongeluk gewist bij het opmaken van de tekst, maar deze staat in er iig wel.

If it is broken, fix it. If it ain't broken, make it better!


  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 13:28
Is dit niet makkelijker??
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim rsCart  
Set rsCart= Server.CreateObject("ADODB.Recordset")
rsCart.CursorType= adOpenKeyset
rsCart.LockType= 3 'adLockOptimistic
rsCart.Open "SELECT * FROM tbl_cart WHERE klant_id=" & _ 
Request.Querystring("userid") & " AND artikel_id = " & Request.Querystring("artid"), cnDB

Dim blnArtAlready
blnArtAlready= False
  
If rsCart.EOF or rsCart.BOF Then
  blnArtAlready= False
Else     
  blnArtAlready= true
end if

If blnArtAlready= False Then
  rsCart.AddNew
  rsCart("Klant_ID")= Request.Querystring("userid")
  rsCart("Artikel_ID")= Request.Querystring("artid")
  rsCart("Aantal")= 1
  rscart.Update
End If

Waarom zou je de hele cart van die persoon ophalen als je gewoon kan checken of het betreffende artikel in z'n cart zit?

  • BlackBurn
  • Registratie: Juni 2001
  • Laatst online: 22:14

BlackBurn

One Ring To Rule Them All

Topicstarter
code:
1
 rsCart.Open "SELECT * FROM tbl_cart WHERE klant_id="&Cint(Request.Querystring("userid"))&" AND artikel_id= " &Cint(Request.Querystring("artid")), cnDB

Zo werkt het inderdaad, je was een & vergeten maar goed, eigenlijk wel dom dat ik er zelf niet aan gedacht heb maar goed het werkt :) thx!

If it is broken, fix it. If it ain't broken, make it better!


  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 13:28
Op maandag 18 februari 2002 23:05 schreef BlackBurn het volgende:
Zo werkt het inderdaad, je was een & vergeten maar goed, eigenlijk wel dom dat ik er zelf niet aan gedacht heb maar goed het werkt :) thx!
vergeten? oh ja?? :P

Maar graag gedaan verder... ff verder denken dan je neus lang is :P

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17:24

Crazy D

I think we should take a look.

Op maandag 18 februari 2002 23:00 schreef Mart! het volgende:
rsCart.Open "SELECT * FROM tbl_cart WHERE klant_id=" & _
Request.Querystring("userid") & " AND artikel_id = " & Request.Querystring("artid"), cnDB
Nooit rechtstreeks waardes uit de querystring direct in een query stoppen, altijd eerst controleren of de inhoud wel correct is (lees: userid bv numeriek, niet negatief, niet een getal van 1213313312 tekens, etc). Tenzij je een kans wilt inbouwen op een fijn lek in je shop :)

Exact expert nodig?

Pagina: 1