webForumDet fria alternativet

Optimal optimering

3 svar · 235 visningar · startad av Crimz0n

Crimz0nMedlem sedan juli 200133 inlägg
#1

Det här är en jättegrej och jag förstår om ingen orkar göra det men om nån mot all förmodan orkar göra det så e jag evigt tacksam och den personen kommer ha en självklar plats i min hall of fame :e

Under ca 2 veckors tid har jag sökt här, på microsoft, på google m.fl. och försökt fatta det här med getrows samt subbar för att kunna optimera optimalt :) men trots detta har jag ej kunnat greppa getrows och dess tvådimensionella arrayer. Så jag undrar nu om någon kan hjälpa mig att få en rättsida på det hela...

Koden som skall optimeras lyder:

<!--#include file="../_nem-flz/bot.inc"-->
<%Session.LCID = 1053%> 
<%
Dim anvandare
Anvandare = Request.Querystring("user")
%>
<HTML>
<HEAD>
 <TITLE>nemus_gbok</TITLE>
 <LINK REL="stylesheet" HREF="../_nem-flz/nemus.css">
 <SCRIPT LANGUAGE="javascript">
  <!--
   function checkformessage() {
   if (document.skriv.medd.value == "") 
   { 
   alert("Du har ju inte skrivit något(!)")
   return false 
   } 
   }
  //-->
 </SCRIPT>
 <SCRIPT LANGUAGE="javascript" SRC="../_nem-flz/mouseover.js"></SCRIPT>
</HEAD>

<BODY BGCOLOR=#7B869C>
<TABLE CELLPADDING=0 CELLSPACING=0 HEIGHT="100%" BORDER=0><TR>
 <TD VALIGN=TOP>

  <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=600 HEIGHT="100%" BORDER=0><TR>
   <TD WIDTH=170 HEIGHT=184 BGCOLOR=#993300 ALIGN=CENTER VALIGN=TOP>

   <!-- #INCLUDE FILE="ssi/meny.txt" -->

   <IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=10><BR>

   <!-- #INCLUDE FILE="ssi/daily.txt" -->

   </TD>
   <TD WIDTH=001 BGCOLOR=#000000><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
   <TD WIDTH=427 BACKGROUND="../_nem-gfx/mid_centerbak.gif" VALIGN=TOP ALIGN=RIGHT>

<%
		Set Connection = Server.CreateObject("ADODB.Connection")
		Connection.Open "orrbo.nu-log"
		SQLStmt = "SELECT Anvnamn FROM users Where Anvnamn = '" & Request.Querystring("user") & "'"
		Set BK = Connection.Execute(SQLStmt)

		IF Request.Querystring("user") = Session("Anv") THEN

			SQLStmt = "UPDATE gast SET sett = '1' WHERE till ='" & Request.Querystring("user") & "'"
			Connection.Execute(SQLStmt)

		END IF

		SQLStmt6 = "Select Count(bokid) AS Antal From gast Where Till = '" & 		Request.Querystring("user") & "'"
		Set CK = Connection.Execute(SQLStmt6)
%>

    <IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=10><BR>
    <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=417 HEIGHT=206 BORDER=0><TR>
     <TD WIDTH=400>
	<TABLE CELLPADDING=1 CELLSPACING=0 WIDTH=400 HEIGHT=200 BORDER=0><TR>
	 <TD BGCOLOR=#00000>
	  <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=398 HEIGHT=198 BORDER=0><TR>
	   <TD HEIGHT=20 BGCOLOR=#666699 BACKGROUND="../_nem-gfx/mid_bigbluewintop.gif" VALIGN=TOP>
	    <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=398 HEIGHT=13 BORDER=0><TR>
	     <TD WIDTH=386><FONT FACE="verdana, tahoma, arial" SIZE=1 COLOR=#FFFFFF CLASS="winHead">&nbsp;.<%= BK("Anvnamn") %>s gästbok</TD> 
	     <TD WIDTH=012><A HREF=" close "><IMG SRC="../_nem-gfx/mid_bluewincheck.gif" WIDTH=12 HEIGHT=13 BORDER=0></TD>
	    </TR></TABLE>
	   </TD>
	  </TR><TR>
	   <TD HEIGHT=172 BGCOLOR=#CCCCCC>
	    <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=398 HEIGHT=172 BORDER=0><TR>
	     <TD WIDTH=006 HEIGHT=172 BGCOLOR=#FFFFFF BACKGROUND="../_nem-gfx/mid_winedgeleft.gif"><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
	     <TD WIDTH=386 HEIGHT=172 VALIGN=TOP>
		<!-- Huvud fält, designkod -->

		<table cellpadding=6 cellspacing=0 width=386 height=172 border=0><tr>
		 <td valign=top>

		  <table cellpadding=0 cellspacing=0 height=14 width="100%" border=0><tR>
		   <td height=13><FONT FACE="verdana, tahoma, arial" SIZE=1 COLOR=#000000 CLASS="usual"><%= BK("Anvnamn") %> har <%= CK("Antal") %> inlägg</td>
	         </tr><tr>
		   <td height=1 background="../_nem-gfx/mid_linesmaker.gif"><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></td>
		  </tr></table><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=10><br>

		  <table cellpadding=4 cellspacing=0 width=374 border=0>
		  <%
			SQLStmt2 = "SELECT * FROM gast Where Till = '" & Request.Querystring("user") & "' ORDER BY bokid DESC"
			Set AK = Connection.Execute(SQLStmt2)
			X = 0
			If Request.QueryString("next") = "" Then
			Nasta = 1
			ElseIf Request.QueryString("next") = 0 Then
			Nasta = 1
			ElseIf Request.QueryString("next") > 0 Then
			Nasta = Request.QueryString("next")
			Nasta = Request.QueryString("next") -- 1
			Steg = Request.QueryString("next") * 10
			END IF

			AK.Move Steg

			DO WHILE X < 10
			IF ak.EOF THEN
			EXIT DO
			Response.Write "Du har inga gästboksinlägg"
			END IF

			SQLStmt7 = "SELECT bild FROM Users WHERE Anvnamn = '" & AK("Vem") & "'"
			Set mini = Connection.Execute(SQLStmt7)

			Dim bgcolor
			if bgcolor = "#c0c0c0" then 
			bgcolor = "#c0c0c0" 
			else 
			bgcolor = "#c0c0c0" 
			end if 
		  %>
		 <tr bgcolor="<%= Bgcolor %>">
		  <td><FONT FACE="verdana, tahoma, arial" SIZE=1><%= AK("När") %><br>
		  <a href="user.asp?user=<%= AK("Vem") %>" target="main"><%= AK("Vem") %></a> &#0124; the king of the hill<br>
		  <%= Server.HTMLEncode(AK("Meddelande")) %><br><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=3><br>

		  <% IF Request.Querystring("user") = Session("anv") THEN %>
		  <a href="gbok.asp?user=<%= AK("Vem") %>" target="main"><img src="../_nem-gfx/buts/but_svara.gif" border=0></a>
		  <a href="gbok_del.asp?user=<%= AK("Till") %>&id=<%= AK("bokid") %>&who=<%= AK("Vem") %>" target="main"><img src="../_nem-gfx/buts/but_tabort.gif" border=0></a>

		  <% ELSEIF AK("Vem") = Session("Anv") THEN %>
		  <a href="gbok_del.asp?user=<%= AK("Till") %>&id=<%= AK("bokid") %>&who=<%= AK("Vem") %>" target="main"><img src="../_nem-gfx/buts/but_tabort.gif" border=0></a>
		  <% END IF %>

		  </td>
		  <td valign=top><a href="user.asp?user=<%= AK("Vem") %>" target="main"><img src="../_nem-gfx/users/<%= mini("bild") %>" 		   height="50" border=0 ALT="<%= AK("Vem") %> snutten"></a></td>
		 </tr><tr>
		  <td colspan=2 height=10><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></td>
		 </tr>

		 <% 
			AK.MOVENEXT
			X = x + 1
			LOOP 
		 %>

		 </table>

		 <table cellpadding=0 cellspacing=0 height=16 width="100%" border=0><tr>
		  <td colspan=2 height=3 background="../_nem-gfx/mid_linesmaker.gif"><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></td>
	        </tr><tr>
		  <td width="50%" height=13 align=left valign=bottom>

		 <% 
			If Request.QueryString("next") = "" Then
			ElseIf Request.QueryString("next") = "0" Then
			Else
			BMS = Nasta - 2 
		 %>

		  <a target="main" href="gbok.asp?user=<%= Anvandare %>&next=<% =BMS %>" onMouseOut="MM_swapImgRestore()" 
		  onMouseOver="MM_swapImage('bakat','','../_nem-gfx/buts/but_foregaende_on.gif',0)"><IMG SRC="../_nem-gfx/buts/but_foregaende.gif" NAME="bakat" border=0></a>
		
		 <% End if %>
	
		 </td><td width="50%" height=13 align=right valign=bottom>

		 <% If AK.EOF Then %>
		
		 &nbsp;

		 <% Else %>

		 <a target="main" href="gbok.asp?user=<%= Anvandare %>&next=<% =Nasta %>" onMouseOut="MM_swapImgRestore()" 
		  onMouseOver="MM_swapImage('framat','','../_nem-gfx/buts/but_nasta_on.gif',0)"><IMG SRC="../_nem-gfx/buts/but_nasta.gif" NAME="framat" BORDER=0>
		
		 <% END IF %>

		 </td>
		</tr></table>

	      </td>
	     </tr></table>

	     <!-- SLUT - Huvud fält, designkod -->

	     </TD>
	     <TD WIDTH=006 HEIGHT=172 BGCOLOR=#FFFFFF BACKGROUND="../_nem-gfx/mid_winedgeright.gif"><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
	    </TR></TABLE>
	   </TD>
	  </TR><TR>
	   <TD WIDTH=398 HEIGHT=006 BGCOLOR=#FFFFFF><IMG SRC="../_nem-gfx/mid_bigwinbot.gif" WIDTH=398 HEIGHT=6></TD>	
	  </TR></TABLE>
	 </TD>
	</TR></TABLE>
     </TD>
     <TD WIDTH=006 BACKGROUND="../_nem-gfx/mid_skuggaverbak.gif" VALIGN=TOP><IMG SRC="../_nem-gfx/mid_skuggavertop.gif" WIDTH=6 HEIGHT=5></TD>
     <TD WIDTH=011><IMG SRC="../_nem-gfx/pix.gif" WIDTH=11 HEIGHT=1></TD>
    </TR><TR>
     <TD WIDTH=417 HEIGHT=6 BACKGROUND="../_nem-gfx/mid_skuggahorbak.gif" COLSPAN=3><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
    </TR></TABLE>

   </TD>
   <TD WIDTH=001 BGCOLOR=#434957><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
   <TD WIDTH=001 BGCOLOR=#A1B1D3><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
  </TR></TABLE>

 </TD>
 <TD VALIGN=TOP>

  <TABLE CELLPADDING=0 CELLSPACING=10 BORDER=0><TR>
   <TD>

    <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=166 HEIGHT=206 BORDER=0><TR>
     <TD WIDTH=160>
	<TABLE CELLPADDING=1 CELLSPACING=0 WIDTH=160 HEIGHT=200 BORDER=0><TR>
	 <TD BGCOLOR=#00000>
	  <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=158 HEIGHT=198 BORDER=0><TR>
	   <TD HEIGHT=20 BGCOLOR=#666699 BACKGROUND="../_nem-gfx/mid_bluewintop.gif" VALIGN=TOP>
	    <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=158 HEIGHT=13 BORDER=0><TR>
	     <TD WIDTH=146><FONT FACE="verdana, tahoma, arial" SIZE=1 COLOR=#FFFFFF CLASS="winHead">&nbsp;.Skriv</TD> 
	     <TD WIDTH=012><A HREF=" close "><IMG SRC="../_nem-gfx/mid_bluewincheck.gif" WIDTH=12 HEIGHT=13 BORDER=0></TD>
	    </TR></TABLE>
	   </TD>
	  </TR><TR>
	   <TD HEIGHT=172 BGCOLOR=#CCCCCC>
	    <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=158 HEIGHT=172 BORDER=0><TR>
	     <TD WIDTH=006 HEIGHT=172 BGCOLOR=#FFFFFF BACKGROUND="../_nem-gfx/mid_winedgeleft.gif"><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
	     <TD WIDTH=146 HEIGHT=172 VALIGN=TOP ALIGN=CENTER>
		<!-- Kolumn fält, designkod -->

		<IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=4><br>
		<table cellpadding=0 cellspacing=0 width=138 height=146 border=0><tr>
	
		 <FORM ACTION="gbok_add.asp" METHOD="post" NAME="skriv">
	       <td colspan=2 valign=top height=128><FONT FACE="verdana, tahoma, arial" SIZE=1 COLOR=#000000 CLASS="usual">
		 <script language="javascript">
		  <!--
		   function checkLength(obj,dispobj,mlength){
		   if(obj.value.length>mlength){
			obj.value = obj.value.substr(0,mlength);
			alert('Detta fält maximalt innehålla '+mlength+' tecken.');
			obj.focus();
		   }
		   dispobj.value=mlength-obj.value.length;
		   }
		  //-->
		 </script>
		 <textarea name="medd" cols=23 rows=10 value="din text" wrap="physical" maxlength="340" class="RegularTextarea" 
		 onFocus="this.className='selectedTextarea'" onBlur="this.className='RegularTextarea'"
		 onKeyUp="checkLength(this,this.form.display,340);" onKeyPress="checkLength(this,this.form.display,340);"></textarea><br>
		 <INPUT TYPE="hidden" name="Who" VALUE="<%= Session("Anv") %>">
		 <INPUT TYPE="hidden" name="To" VALUE="<%= Request.QueryString("user") %>">
		 </td>
		</tr><tr>
		 <td height=18><input type="text" name="display" size="6" value="340" disabled onFocus="this.blur();" class=regularinput></td>
		 <td height=18 align=right valign=top><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=4><br><INPUT TYPE="image" 
		  SRC="../_nem-gfx/buts/but_gbokskicka.gif" VALUE="submit" onClick="return checkformessage()"></td>
		 </form>  
	
		</tr></table>
	
		<!-- SLUT - Kolumn fält, designkod -->

	     </TD>
	     <TD WIDTH=006 HEIGHT=172 BGCOLOR=#FFFFFF BACKGROUND="../_nem-gfx/mid_winedgeright.gif"><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
	    </TR></TABLE>
	   </TD>
	  </TR><TR>
	   <TD WIDTH=158 HEIGHT=006 BGCOLOR=#FFFFFF><IMG SRC="../_nem-gfx/mid_winbot.gif" WIDTH=158 HEIGHT=6></TD>	
	  </TR></TABLE>
	 </TD>
	</TR></TABLE>
     </TD>
     <TD WIDTH=006 BACKGROUND="../_nem-gfx/mid_skuggaverbak.gif" VALIGN=TOP><IMG SRC="../_nem-gfx/mid_skuggavertop.gif" WIDTH=6 HEIGHT=5></TD>
    </TR><TR>
     <TD WIDTH=166 HEIGHT=6 BACKGROUND="../_nem-gfx/mid_skuggahorbak_mini.gif" COLSPAN=3><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
    </TR></TABLE>

   </TD>
  </TR></TABLE>
  
 </TD>
</TR></TABLE>

</BODY>
</HTML>
<%
   Mini.Close
   AK.Close
   BK.Close
   CK.Close
   Connection.Close
%>

Jag vet att det är väldigt o-optimerad kod just nu, men hey e man en nybörjare så e man. :D

Det första jag gjorde var att dela upp sidan i funktioner och subbar och lägga dem i en annan sida...

Show.inc

<%
Sub ShowPost(strSQL)
   Set Connection = Server.CreateObject("adodb.connection")
      Connection.open "orrbo.nu-log"
      Set RS = Connection.Execute(strSQL)
	If Not RS.EOF Then
	Records = RS.GetRows()
	End If
      Connection.Close
   Set RS = Nothing
   Set Connection = Nothing
End Sub

Sub UpdatePost(strSQL)
   Set Connection = Server.CreateObject("adodb.connection")
      Connection.open "orrbo.nu-log"
      Connection.Execute(strSQL)
      Connection.Close
   Set Connection = Nothing
End Sub
%>

Sedan började jag försöka implementera getrows...

<!--#include file="../_nem-flz/bot.inc"-->
<!--#include file="inc/show.inc"-->
<HTML>
<HEAD>
 <TITLE>nemus_gbok</TITLE>
 <LINK REL="stylesheet" HREF="../_nem-flz/nemus.css">
 <SCRIPT LANGUAGE="javascript">
  <!--
   function checkformessage() {
   if (document.skriv.medd.value == "") 
   { 
   alert("Du har ju inte skrivit något(!)")
   return false 
   } 
   }
  //-->
 </SCRIPT>
 <SCRIPT LANGUAGE="javascript" SRC="../_nem-flz/mouseover.js"></SCRIPT>
</HEAD>

<BODY BGCOLOR=#7B869C>
<TABLE CELLPADDING=0 CELLSPACING=0 HEIGHT="100%" BORDER=0><TR>
 <TD VALIGN=TOP>

  <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=600 HEIGHT="100%" BORDER=0><TR>
   <TD WIDTH=170 HEIGHT=184 BGCOLOR=#993300 ALIGN=CENTER VALIGN=TOP>

   <!-- #INCLUDE FILE="ssi/meny.txt" -->

   </TD>
   <TD WIDTH=001 BGCOLOR=#000000><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
   <TD WIDTH=427 BACKGROUND="../_nem-gfx/mid_centerbak.gif" VALIGN=TOP ALIGN=RIGHT>

<%
		Session.LCID = 1053

		Dim anvandare, sessionanv, Topnamn, Antal, X, msg, sida, nasta, steg
		Sida = Request.QueryString("next")
		Anvandare = Request.Querystring("user")
		sessionanv = Session("anv")

		Call ShowPost("SELECT Anvnamn FROM users Where Anvnamn = '" & anvandare & "'")	
		Topnamn = Records

		IF anvandare = sessionanv THEN
			Call UpdatePost("UPDATE gast SET sett = '1' WHERE till ='" & anvandare & "'")
		END IF

		Call ShowPost("Select Count(bokid) AS Antal From gast Where Till = '" & anvandare & "'")
		Antal = Records
%>

    <IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=10><BR>
    <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=417 HEIGHT=206 BORDER=0><TR>
     <TD WIDTH=400>
	<TABLE CELLPADDING=1 CELLSPACING=0 WIDTH=400 HEIGHT=200 BORDER=0><TR>
	 <TD BGCOLOR=#00000>
	  <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=398 HEIGHT=198 BORDER=0><TR>
	   <TD HEIGHT=20 BGCOLOR=#666699 BACKGROUND="../_nem-gfx/mid_bigbluewintop.gif" VALIGN=TOP>
	    <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=398 HEIGHT=13 BORDER=0><TR>
	     <TD WIDTH=386><FONT FACE="verdana, tahoma, arial" SIZE=1 COLOR=#FFFFFF CLASS="winHead">&nbsp;.<%= Topnamn(0,0) %>s gästbok</TD> 
	     <TD WIDTH=012><A HREF=" close "><IMG SRC="../_nem-gfx/mid_bluewincheck.gif" WIDTH=12 HEIGHT=13 BORDER=0></TD>
	    </TR></TABLE>
	   </TD>
	  </TR><TR>
	   <TD HEIGHT=172 BGCOLOR=#CCCCCC>
	    <TABLE CELLPADDING=0 CELLSPACING=0 WIDTH=398 HEIGHT=172 BORDER=0><TR>
	     <TD WIDTH=006 HEIGHT=172 BGCOLOR=#FFFFFF BACKGROUND="../_nem-gfx/mid_winedgeleft.gif"><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></TD>
	     <TD WIDTH=386 HEIGHT=172 VALIGN=TOP>
		<!-- Huvud fält, designkod -->

		<table cellpadding=6 cellspacing=0 width=386 height=172 border=0><tr>
		 <td valign=top>

		  <table cellpadding=0 cellspacing=0 height=14 width="100%" border=0><tR>
		   <td height=13><FONT FACE="verdana, tahoma, arial" SIZE=1 COLOR=#000000 CLASS="usual"><%= Topnamn(0,0) %> har <%= Antal(0,0) %> inlägg</td>
	         </tr><tr>
		   <td height=1 background="../_nem-gfx/mid_linesmaker.gif"><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=1></td>
		  </tr></table><IMG SRC="../_nem-gfx/pix.gif" WIDTH=1 HEIGHT=10><br>

<table cellpadding=4 cellspacing=0 width=374 border=0>
		    <%
Call ShowPost("SELECT vem.gast, till.gast, meddelande.gast, när.gast, bild.users FROM gast, users Where Till.gast = '" & anvandare & "' AND Anvnamn.users = '" & anvandare & "' ORDER BY bokid DESC")
Msg = Records
			
X = 0
If Sida = "" Then
Nasta = 1
			
ElseIf sida = 0 Then

Nasta = 1

ElseIf sida > 0 Then

Nasta = sida
Nasta = sida -- 1
Steg = sida * 10
END IF

For i = steg To Ubound(Msg)
DO WHILE X < 10
IF Msg = ""
EXIT DO

Response.Write "Du har inga gästboksinlägg"
END IF
			

Dim bgcolor
if bgcolor = "#c0c0c0" then 
bgcolor = "#c0c0c0" 
else 
bgcolor = "#c0c0c0" 
end if

Men sen tog det slut, jag vet helt enkelt inte hur jag ska fortsätta...så jag vänder mig till Er...som sagt, det e ej en liten sak jag ber om och jag förstår om ni inte orkar men ett försök vore mycket uppskattat :e

------------------
[Q]
It's better to burn out than fade away!

[/Q]

spangoMedlem sedan juni 20008 205 inlägg
#2

Har vi månne försökt optimera så mycket at koden blivit oläslig? Nåja, det först aproblemet jag kan se är att du försöker använda variabeln Records utanför ShowPost, men Records är lokal i ShowPost. Du får gör om det till en funktion som returnerar raderna.

Function ShowPost(strSQL)
Set Connection = Server.CreateObject("adodb.connection")
Connection.open "orrbo.nu-log"
Set RS = Connection.Execute(strSQL)
If Not RS.EOF Then
ShowPost = RS.GetRows() ' Returnera funna rader
Else
' Returnera något som påvisar att inget hittats
End If
Connection.Close
Set RS = Nothing
Set Connection = Nothing
End Function

Om du vill optimera har du börjat i extremt fel ända. Med tanke att du skapar en ny databasanslutning för varje anrop av ShowPost så är dina ansträngningar med GetRows ganska menlösa. Först skriver man fungerande kod, sen optimerar man. Om man vill eller behöver, kan man kanske tillägga...

\r Användningen av din funktion ser alltså ut så här:

rader = ShowPost("SELECT kolumner FROM tabell")

------------------
"There's no such thing as a stupid question, only stupid people"

[Redigerat av spango den 14 aug 2001]

LukaspojkenMedlem sedan maj 20011 312 inlägg
#3

Försök titta lite på optimala databaskopplingar och börja ditt optimerande där. Det jag såg direkt var att du kan använda dig av array:s när du gör en hämtning från databasen. Ett annat råd är att skapa en form av databasavdelning. Där du gör alla nödvändiga db-hämtningar i följd och därefter stänger db:n så snabbt som möjligt. Sök lite i forum-arkivet här på ord som optimering, databaskoppling, recordset etc så kommer din kod att spinna som en katt sen.

------------------
Alltid lär man sig något nytt varje dag...

EclipseMedlem sedan juli 20003 825 inlägg
#4
 SQL = "SELECT * FROM Users" 
Set mini = Connection.Execute(SQL)
on error resume next

myGetRows = mini.GetRows()

' ## PRINT ALL POSTS
FOR j = 0 to UBound(myGetRows, 2)
	FOR i = 0 to UBound(myGetRows, 1)
		response.write i & "> " & myGetRows(i, j) & " " & vbCRLF
	NEXT
	IF NOT j = UBound(myGetRows, 2) THEN response.write "<BR><BR>"
NEXT

' ## PRINT 2:nd POST TO SCREEN
FOR j = 0 to UBound(myGetRows, 2)
response.write myGetRows([b]1[/b], j) & "<BR>"

NEXT

Första positionen är '0,0', andra '1,0'.
------------------
OLR WebAdmin - gratis webbverktyg för små och medelstora webbplatser.
A small amount of work now let's us be lazy in the future.

[Redigerat av Eclipse den 14 aug 2001]

167 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
165 ms — hämta tråd, inlägg och bilagor (db)