Du erzeugst in Deiner DO until LOOP Schleife 3 x den SQLString 3x das
Recordset etc.
unn�tig oder :-)

Besser so:
                'On Error resume Next '// Erst mal nicht verwenden
                ConnSQL = "SELECT * FROM Banner WHERE BannerID = " & Session("ID") + 1
                rs.Open ConnSQL, Conn
                i = 0
                DO until i = 3
                        IF rs("Guthaben") = 0 THEN
                        Session("ID") = rs("BannerID") + 1
                        ELSE
                                Response.Write "<A HREF='redirect.asp?BannerID=" & 
rs("BannerID") &
"&URL=" & rs("URL") & "' TARGET='_blank'>"
                                Response.Write "<IMG SRC='" & rs("Bild") & "' 
BORDER='0'>"
                                Response.Write "</A><BR>"

                                Session("ID") = rs("BannerID")
                                IF Session("ID") = nDS  THEN
                                        Session("ID") = 0
                                END IF
                                Response.Write "Session ID Schlu�: " & Session("ID") & 
"<BR>"
                                rs("Views") = rs("Views") + 1
                                rs("Guthaben") = rs("Guthaben") - 1
                                rs.Update

                                i = i + 1

                        END IF

                LOOP
                rs.Close
                Set rs = Nothing

oder Du arbeitest noch mit dem ClientSideCursor
Set objRS = Server.CreateObject("ADODB.Recordset")
strSQLStmt = "SELECT * FROM Suppliers"
strConn = "Provider=SQLOLEDB;server=bigmac;uid=sa;pwd=;Initial
Catalog=DeinDB;"
objRS.CursorLocation = adUseClient
objRS.CursorType = adOpenStatic
objRS.LockType = adLockBatchOptimistic
objRS.Open strSQLStmt, strConn
Set objRS.ActiveConnection = Nothing

Gru� J�rg



-----Urspr�ngliche Nachricht-----
Von: Stefan H�sler [mailto:[EMAIL PROTECTED]]
Gesendet: Samstag, 17. November 2001 13:42
An: ASP Datenbankprogrammierung
Betreff: [aspdedatabase] Langsames Script


Hallo!

Ich habe hier ein Script, das zwar funktioniert aber f�rchterlich langsam
ist. Dauert am PWS bis zu 2 Minuten, bis eine Seite aufgebaut ist.
Ich vermute, es liegt an:
...
                IF rs("Guthaben") = 0 THEN
                        Session("ID") = rs("BannerID") + 1
                ELSE
...

bin mir aber nicht sicher. Kann sich das bitte mal jemand ansehen und mir
sagen, warum das Ding so langsam ist und wie ich das besser machen k�nnte?

Danke

Stefan

--- SCRIPT ---

<%@ Language=VBScript %>
<%
Response.Buffer=True

IF Session("ID") = "" THEN
        Session ("ID") = 0
END IF

Response.Write "Session ID Start: " & Session("ID") & "<BR>"

%>
<!-- #include file="connection.asp" -->
<%
' 3 Banner anzeigen
        i = 0
        DO until i = 3
                On Error resume Next
                ConnSQL = "SELECT * FROM Banner WHERE BannerID = " & Session("ID") + 1
                rs.Open ConnSQL, Conn

                IF rs("Guthaben") = 0 THEN
                        Session("ID") = rs("BannerID") + 1
                ELSE
                        Response.Write "<A HREF='redirect.asp?BannerID=" & 
rs("BannerID") &
"&URL=" & rs("URL") & "' TARGET='_blank'>"
                        Response.Write "<IMG SRC='" & rs("Bild") & "' BORDER='0'>"
                        Response.Write "</A><BR>"

                        Session("ID") = rs("BannerID")
                        IF Session("ID") = nDS  THEN
                                Session("ID") = 0
                        END IF
                        Response.Write "Session ID Schlu�: " & Session("ID") & "<BR>"
                        rs("Views") = rs("Views") + 1
                        rs("Guthaben") = rs("Guthaben") - 1
                        rs.Update

                        i = i + 1

                END IF
                rs.Close
        LOOP

' Verbindung schlie�en
conn.Close
Set rs=Nothing
Set conn=Nothing
%>

--- SCRIPT ---


| [aspdedatabase] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp


| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an