also fakt ist, dass er mir nur zwei daten auswirft, bei einer schleife, die
vier datens�tze hat:
response.write(anzGeladen) ' Hier wirft er mir vier aus. d.h. er ist vorher
beim ubound(geladenSplit) vier mal durch...
do while(NOT rs4.EOF)
for i = 0 to (anzGeladen-1)
'Ubound(geladenSplit)
if(rs4.fields.item("email")=geladenSplit(i)) then
Teilnehmer=Teilnehmer+"<li>"+rs4.fields.item("name")+"</li>"
end if
next
rs4.moveNext
loop
wie gesagt, er stoppt nach der zweiten ausgabe...
----- Original Message -----
From: Claudius Ceteras <[EMAIL PROTECTED]>
To: AspGerman Kaffeehaus <[EMAIL PROTECTED]>
Sent: Wednesday, July 24, 2002 12:39 PM
Subject: [aspdecoffeehouse] RE: speicherverletzung...
Oha... Da tun sich ja Abgr�nde auf... ;-)
Hab jetzt auf den ersten Blick habe ich keinen Ubound-Fehler gesehen..
Wie kommst Du �berhaupt auf die Idee? Bekommst Du einen
Array-OutOfBound-Fehler o.�?
Aber Dein DB-Design solltest Du nochmal �berdenken...
Und Dein Ansatz jedes mal �ber alle Datens�tze zu iterieren d�rfte
katastrophal f�r die Performance sein...
Deine innersten Schleifen laufen Anzahl(Termine)*2*Anzahl(UserProfil)
mal ab...
Wie holst Du Dir z.B. die Tabelle UserProfile zweimal? Wieso benutzt Du
keinen disconnected RS und machst ein MoveFirst?
Aber der richtige Ansatz w�re eigentlich f�r alle Zuordnungen gesonderte
Tabellen zu benutzen statt alle Werte in ein Feld zu stopfen und selbst
zu splitten...
Das w�rde f�r viele Datens�tze Deine Applikation �berhaupt erst
benutzbar machen und Du kannst nur die n�tigen Daten holen. Das w�rde
auch Deinen Code viel lesbarer/logischer machen...
Ich habe auch keinen Code gefunden, in dem rs und user gesetzt wird,
obwohl beides sp�ter benutzt wird.
Claudius
> -----Original Message-----
> From: Thomas Beckert [mailto:[EMAIL PROTECTED]]
> Sent: Mittwoch, 24. Juli 2002 11:55
> To: AspGerman Kaffeehaus
> Subject: [aspdecoffeehouse] RE: speicherverletzung...
>
>
> achtung!!! der code ist ein ganz sch�ner batzen.....
>
> **********************************************************
> <%
> sql = "SELECT * FROM termine order by Datum"
> set RS3 = conn.Execute(sql)
> do while(NOT rs3.EOF)
>
> geladen = false
> alleBestaetigt = false
> userHatBestaetigt = false
> anzGeladen = 0
> anzBestaet = 0
> Teilnehmer = ""
> Bestaetiger = ""
>
> 'Nachsehen ob man geladen ist
> geladenSplit = Split( rs3.fields.item("geladen"),",")
> for j = 0 to Ubound(geladenSplit)
> if(geladenSplit(j)=user) then
> geladen = true
> end if
> anzGeladen=anzGeladen+1
> next
>
> if(geladen) then
>
> 'Nachsehen ob alle bestaetigt haben
> bestaetigtSplit = Split( rs3.fields.item("bestaetigt"),",")
> for k = 0 to Ubound(bestaetigtSplit)
> if(user=bestaetigtSplit(k)) then
> userHatBestaetigt=true
> end if
> anzBestaet=anzBestaet+1
> next
>
> if(anzGeladen=anzBestaet) then
> alleBestaetigt = true
> end if
>
> 'Teilnehmer Namensliste erstellen
> sql = "SELECT * FROM userprofil"
> set RS4 = conn.Execute(sql)
> do while(NOT rs4.EOF)
>
> for k = 0 to Ubound(geladenSplit)
> if(rs4.fields.item("email")=geladenSplit(k)) then
> Teilnehmer=Teilnehmer+"<li>"+rs4.fields.item("name")+"</li>"
> end if
> next
>
> rs4.moveNext
> loop
> rs4.close
>
> 'Bestaetiger Namensliste erstellen
> sql = "SELECT * FROM userprofil"
> set RS5 = conn.Execute(sql)
> do while(NOT rs5.EOF)
>
> for l = 0 to Ubound(bestaetigtSplit)
> if(rs5.fields.item("email")=bestaetigtSplit(l)) then
> Bestaetiger=Bestaetiger+"<li>"+rs5.fields.item("name")+"</li>"
> end if
> next
>
> rs5.moveNext
> loop
> rs5.close
>
>
> %>
> <form method="post" action="">
> <table width="100%" border="0" cellspacing="2"
> cellpadding="2">
> <tr valign="middle">
> <td width="27%"><font face="Tahoma" size="2"> <%
> response.write(anzBestaet)
> response.write("<br>")
> response.write(anzGeladen)
> %> Vorschlag:</font></td>
> <td width="146%" colspan="2"><font
> face="Tahoma" size="2">
> <input type="text" name="vorschlag" size="5"
> readonly="readonly"
> style="background-color:#000066;color:#FFCC00;font-size:9pt"
> value="<% =
> rs3.fields.item("vorschlag") %>">
> </font></td>
> </tr>
> <tr valign="middle">
> <td width="27%"><font face="Tahoma"
> size="2">Datum:</font></td>
> <td width="146%" colspan="2"><font
> face="Tahoma" size="2">
> <input type="text" name="Uhrzeit2" size="10"
> readonly="readonly"
> style="background-color:#000066;color:#FFCC00;font-size:9pt"
> value="<% =
> rs3.fields.item("datum") %>">
> </font></td>
> </tr>
> <tr valign="middle">
> <td width="27%"><font face="Tahoma"
> size="2">Uhrzeit:</font></td>
> <td width="146%" colspan="2"><font
> face="Tahoma" size="2">
> <input type="text" name="Uhrzeit" size="10"
> style="background-color:#000066;color:#FFCC00;font-size:9pt"
> value="<% =
> rs3.fields.item("zeitpunkt") %>">
> </font></td>
> </tr>
> <tr valign="top">
> <td width="27%"><font face="Tahoma"
> size="2">Geladen:</font></td>
> <td width="146%" colspan="2"><font face="Tahoma"
> size="2"><ul><% response.write(Teilnehmer) %></ul></font></td>
> </tr>
> <tr bgcolor="<% if(alleBestaetigt=true) then
> %>#009900<%
> else %>#FF0000<%end if%>" valign="top">
> <td width="27%"><font face="Tahoma"
> size="2">Bestätigt:</font></td>
> <td width="146%" colspan="2"><font face="Tahoma"
> size="2"><ul><% response.write(Bestaetiger) %></ul></font></td>
> </tr>
> <tr valign="top">
> <td width="27%"><font face="Tahoma"
> size="2">Inhalt:</font></td>
> <td width="146%" colspan="2"><font
> face="Tahoma" size="2">
> <textarea name="inhalt" cols="30" rows="5"
> style="background-color:#000066;color:#FFCC00;font-size:9pt" ><% =
> rs3.fields.item("inhalt") %></textarea>
> <input type="hidden" name="id" value="<% =
> rs.fields.item("id") %>">
> </font></td>
> </tr>
> <tr>
> <td colspan="3"><font face="Tahoma"
> size="2"></font><font
> face="Tahoma" size="2"></font>
> </td>
> </tr>
> </table>
> </form>
> <table width="100%" border="0" cellspacing="2"
> cellpadding="2">
> <tr>
> <td>
> <form method="post" action="">
> <div align="center">
> <% if(userHatBestaetigt) then %>
> <input type="submit" name="Button"
> value="Terminbest�tigung canceln"
> style="background-color:#000066;color:#FFCC00;font-size:10pt">
> <input type="hidden" name="id" value="<% =
> rs.fields.item("id") %>">
> <input type="hidden" name="canceln" value="1">
> <% else %>
> <input type="submit" name="Button" value="Termin best�tigen"
> style="background-color:#000066;color:#FFCC00;font-size:10pt">
> <input type="hidden" name="id" value="<% =
> rs.fields.item("id") %>">
> <% end if %> <br>
> <hr>
> </div>
> </form>
> </td>
> </tr>
> </table>
>
> <%
> rs3.moveNext
> else
> rs3.moveNext
> end if
> loop
> rs3.close
> %>
> **********************************************************
>
>
> ----- Original Message -----
> From: Claudius Ceteras <[EMAIL PROTECTED]>
> To: AspGerman Kaffeehaus <[EMAIL PROTECTED]>
> Sent: Wednesday, July 24, 2002 11:57 AM
> Subject: [aspdecoffeehouse] RE: speicherverletzung...
>
>
> Sollte nicht passieren... Da hast Du vielleicht einen logischen Fehler
> eingebaut...
> Poste mal code...
>
> So sollte das eigentlich aussehen und funktionieren:
>
> Do while not rs.eof
> ar = split(rs("feld"), " ")
> for i = 0 to ubound(ar)
> response.write ar(i)
> next
> rs.movenext
> Loop
>
> Claudius
>
> > ich habe eine while schleife f�r einen datensatz...
> > do while(not rs.eof)
> >
> > innerhalb dieses datensatzen benutze ich das split und
> > ubound, um strings zu
> > splitten und eine anzahl zu ermitteln...
> > wenn die �u�ere schleife ein zweites mal durchl�uft, scheint
> > es aber so, als
> > ob er die anzahl ubound von dem ersten durchlauf �bernimmt.
> > hat jemand eine idee wie ich das verhindern kann?
> > set ubound=nothing oder so???
>
>
> | [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> |
> http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffee
house.asp
| [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
|
http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp
| [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp
| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp