Toon posts:

[ASP] Resultaat While Wend opslaan

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heb een webwinkel gemaakt die bij het afsluiten van de koop de Id's moet updaten in een database. Onderstaande code werkt perfect, maar bij een latere response.write (buiten de while wend om) geeft-ie alleen het laatste resultaat. Hoe zorg ik ervoor dat ASP de complete rij onthoud?


code:
1
2
3
4
5
6
7
8
DeWebwinkel_Index = 0
        while (NOT eCart_EOF(DeWebwinkel))
    DeWebwinkel_Index = DeWebwinkel.DisplayIndex - 1
          Besteld =  eCart_DisplayInfo(DeWebwinkel, "Id") & ","
          response.write Besteld
    set DeWebwinkel= eCart_MoveNext(DeWebwinkel)
        wend
    set DeWebwinkel= eCart_MoveFirst(DeWebwinkel)

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 15:11

TeeDee

CQB 241

De hele meuk in een array stoppen?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
tijdens de loop in een array stoppen en daarna door de array heen loopen?

TeeDee was me voor....

[ Voor 16% gewijzigd door 4of9 op 28-09-2004 16:08 ]

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Verwijderd

Topicstarter
Ben zelf ook al bezig geweest om alles in een array te plaatsen. Maar ik krijg steeds een foutmeldig:

--- An unhandled data type was encountered.

Want vanaf waar en wat moet ik dan opslaan in een array? Alleen deze regel code?

code:
1
Besteld =  eCart_DisplayInfo(DeWebwinkel, "Id") & ","

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
iets als dit:

code:
1
2
redim preserve myVar(iTotaal)
  myVar(iCurrent) = myValue

[ Voor 17% gewijzigd door 4of9 op 28-09-2004 16:33 ]

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 18-05 15:53

Jaspertje

Max & Milo.. lief

je kan ook een nep array maken.

gewoon komma seperated string en die later uitlezen met myvar = split(myfakearr, ",")

Verwijderd

Topicstarter
Heb een array gemaakt op de volgende manier:

code:
1
2
3
4
5
6
7
8
9
DeWebwinkel_Index = 0
        while (NOT eCart_EOF(DeWebwinkel))
    DeWebwinkel_Index = DeWebwinkel.DisplayIndex - 1
          DIM A
          A = Array(eCart_DisplayInfo(DeWebwinkel, "Id") & ",")
          Response.Write(A(0))
      set DeWebwinkel= eCart_MoveNext(DeWebwinkel)
        wend
    set DeWebwinkel= eCart_MoveFirst(DeWebwinkel)


Bovenstaande code geeft precies alles weer. Maar verander ik de (A(0)) in een ander getal, bijvoorbeeld "1" dan wordt deze niet weergegeven en krijg ik een foutmelding dat 1 niet bestaat. Het wordt gezien als één array.

Daarnaast, als ik de "response.write(A(0))" buiten de Wend aanroep krijg ik alleen het laatste getal te zien :(

  • Wiggert
  • Registratie: December 2000
  • Laatst online: 17-11-2025
Ik gebruik daar meestal even een array classje voor:

Hoef je je ook geen zorgen te maken met redimmen en zo..

Je kan natuurlijk ook alleen de functie er van gebruiken

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
29
30
31
32
33
34
35
<%
    Class ArrayList
        'variables
        Private tArray
        Private recordCount

        Private Sub Class_Initialize()
            recordCount = 0
            Redim tArray(30)
        End Sub
        
        Public Function Init(dimensions)
            Redim tArray(dimensions)
        End Function
        
        Public Function Add(parameter)
            If (recordCount < Ubound(tArray)) then
                tArray(recordCount) = parameter
            Else
                Redim Preserve tArray(recordCount+2)
                tArray(recordCount) = parameter
            End if
            recordCount = recordCount + 1
        End Function

        Public Property Get Value
            Redim Preserve tArray(recordCount-1)
            if isarray(tArray) then
                Value = tArray
            end if
        End Property

    End Class

%>

[ Voor 11% gewijzigd door Wiggert op 28-09-2004 20:07 . Reden: onnodige functie weggehaald ]


  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 20-05 08:06

sopsop

[v] [;,,;] [v]

Kan aan mij liggen hoor, maar een array in vbscript maak je als volgt aan:
code:
1
2
3
4
5
6
7
8
9
10
dim ar(),i
i=0
while (NOT eCart_EOF(DeWebwinkel))
    DeWebwinkel_Index = DeWebwinkel.DisplayIndex - 1
    redim preserve ar(i)
    ar(i) = eCart_DisplayInfo(DeWebwinkel, "Id")
    set DeWebwinkel= eCart_MoveNext(DeWebwinkel)
    i = i + 1
wend
set DeWebwinkel= eCart_MoveFirst(DeWebwinkel)

in ar(0) t/m aantal items in ecart-1 staan al je ID's. Gewoon met een for loopje met een Ubound erlangs lopen en doen wat je ermee wilt doen.

Kijk voor alles over arrays in ASP (VBScript) HIER.

[ Voor 10% gewijzigd door sopsop op 29-09-2004 10:09 . Reden: Link toegevoegd ]


Verwijderd

Ik weet niet wat eCart en DeWebwinkel voor objecten zijn, maar het zijn mijns inziens geen simpele types die je in een array kunt zetten. Als je ze zelf geschreven hebt, moet je een methode maken om ze te kunnen opslaan (bijv. als XML string) en weer creeren vanuit die informatie. Als het op basis van software van anderen is, zit een dergelijke functie er al vaak in.

HTH :)

  • sopsop
  • Registratie: Januari 2002
  • Laatst online: 20-05 08:06

sopsop

[v] [;,,;] [v]

Verwijderd schreef op 29 september 2004 @ 10:29:
Ik weet niet wat eCart en DeWebwinkel voor objecten zijn, maar het zijn mijns inziens geen simpele types die je in een array kunt zetten. Als je ze zelf geschreven hebt, moet je een methode maken om ze te kunnen opslaan (bijv. als XML string) en weer creeren vanuit die informatie. Als het op basis van software van anderen is, zit een dergelijke functie er al vaak in.

HTH :)
Die functie heet waarschijnlijk: eCart_DisplayInfo en die gebruikt hij ook.
Pagina: 1