webForumDet fria alternativet

Optimera så mycket som möjligt:

ASP

17 svar · 427 visningar · startad av colione

Medlem sedan juni 20014 421 inlägg
Frågan#1

Hjälp att optimera denna kod så att den laddar så snabbt som möjligt?? :q

<% Response.Buffer = True  %>
<!-- #include virtual="/applications/adovbs.inc" -->
<html>
<Head><script language="javascript">
function skicka()
{
self.location.href="default.asp?logoff=ja";
}
function skicka1()
{
self.location.href="default.asp?open=add1";
}
</script>
<META HTTP-EQUIV="Cache" CONTENT="No-Cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="No-Cache">
<META HTTP-EQUIV="Cache-Controll" CONTENT="No-Cache">
<META HTTP-EQUIV="Pragma" CONTENT="No-Cache">
<META HTTP-EQUIV="Robot" CONTENT="No-Cache">
<style>
a:link{text-decoration:none; font-family:verdana;color:blue}
a:active{text-decoration:none; font-family:verdana; color:blue}
a:hover{text-decoration:none; font-family:verdana; color:blue}
a:visited{text-decoration:none; font-family:verdana; color:blue}
input.text{background-color: #dddddd;;font: bold 10px verdana;color: black;border: solid black 1px;}
</style>
<script language="JavaScript">
<!-- 
function ingaprickar()
{
for (a in document.links) document.links[a].onfocus = document.links[a].blur;
}
if (document.all)
{
document.onmousedown = ingaprickar;
}

// -->
</script><font face=verdana size=1>
<% '===================================================================================================================== %>
<% If Request.Querystring("open")="" then%>
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\applications\citatdatabas\data\citat.mdb" 

	Set RecSet = Server.CreateObject("ADODB.Recordset")

   Visa = "SELECT * FROM citat"
   RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic 

	Antal = RecSet.RecordCount

	RecSet.Close

	Randomize
	Siffra = Int(Rnd * Antal)

	Set RecSet = Server.CreateObject("ADODB.Recordset")

   DagensCitat = "SELECT * FROM citat"
   RecSet.Open DagensCitat, Connect, adOpenStatic, adLockOptimistic

	RecSet.Move Siffra, adBookmarkFirst
	VisaCitat = RecSet("Citat")

	RecSet.Close%>
<head><script type="text/javascript" language="JavaScript">
<!--
function show(id)
{
if (document.layers)
citat.innerText = "\"\-Klicka för ett nytt citat.\""
else if (document.all)
citat.innerText = "\"\-Klicka för ett nytt citat.\""
}

function hide(id)
{
if (document.layers)
citat.innerText = "\"\-<% =VisaCitat %>\""
else if (document.all)
citat.innerText = "\"\-<% =VisaCitat %>\""
}

function show2(id)
{
if (document.all)
document.all[id].style.display = "";
else if (document.layers)
document.layers[id].display = "";
}

function hide2(id)
{
if (document.all)
document.all[id].style.display = "none";
else if (document.layers)
document.layers[id].diplay = "none";
}

//-->
</script>
</head>
<body oncontextmenu="return false" onload="hide('me');"><i><Span ID=citat onMouseOver="show('me');return true;" onMouseOut="hide('me');return true;" onClick="skicka();" style="cursor:default;"><Span id=me style="cursor:default; position:absolute;">
<% =VisaCitat %></Span></span></i>
<p>Vi har nu <b><% =Antal %></b> st citat inlaggda.
<a href="#" class="+" onMouseOver="window.status='Visa alla citat';return true;" onMouseOut="window.status='';return true;" onClick="show2('alla');return true;"><acronym title="Visa alla citat">@</acronym></a>
<a href="default.asp?open=add1" class="+" onMouseOver="window.status='Lägg till citat';return true;" onMouseOut="window.status='';return true;">
<acronym title="Läggtill citat">+</acronym></a>
<a href="default.asp?open=index" onMouseOver="window.status='Tabort citat (lösen krävs)';return true;" onMouseOut="window.status='';return true;"><acronym title="Tabort citat" class="+">-</acronym></a> 

<div id=alla style="POSITION: absolute;display:none;top:1;">
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\applications\citatdatabas\data\citat.mdb"

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Radera = "SELECT * FROM citat ORDER BY Citat"
   RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic
%>
<UL>
<table bgcolor=white>
<%
bgcolor="#ffffff"

Do Until RecSet.EOF
if bgcolor="#e9f0f9" then
bgcolor="#e9f0e9"
else
bgcolor="#e9f0f9"
end if
%>
<tr bgcolor="<%=bgcolor%>">
<td><font face=verdana size="1"><li>
<% =RecSet("Citat") %><br></font></td>
	</tr>	

<%	RecSet.MoveNext
	Loop
	RecSet.Close %>
<table></UL>
<a href="#" class="+" onMouseOver="window.status='Stäng';return true;" onMouseOut="window.status='';return true;" onClick="hide2('alla');return true;"><acronym title="Stäng"><strike>@</strike></acronym></a>
</div>

<%end if%>
<% '===================================================================================================================== %>

<% If Request.QueryString("open") = "yes" Then %>
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\applications\citatdatabas\data\citat.mdb" 

	Set RecSet = Server.CreateObject("ADODB.Recordset") %>
<% End If %>
<% 
'===================================================================================================================== %>
<% If Request.QueryString("open") = "add1" Then %>

<html>
<head>
<script LANGUAGE="javascript">
<!--
function CheckLen() {
  StrLen = document.skriv.citat.value.length;
    if (StrLen > 100 ) {
      document.skriv.citat.value = document.skriv.citat.value.substring(0,100);
      CharsLeft = 0;
    }else{ CharsLeft =100 - StrLen;
}
  visa.innerText ="Du har " +CharsLeft+ " tecken kvar";
  document.skriv.citat.focus();
} 
 // -->
</script>
<script language="JavaScript">
<!-- Hide

function validateForm() {
var check=/[å\ä\ö]/gi;
var kolla = document.skriv.citat.value.search(check);
if(kolla !=-1)
{
alert("Endast engelska citat!!")
document.skriv.citat.focus();
return false;
}
var check=/[0-9]/i;
var kolla = document.skriv.citat.value.search(check);
if(kolla !=-1)
{
alert("Inga siffror i citatet!!")
document.skriv.citat.focus();
return false;
}     	
if (document.skriv.citat.value == "")
  	{
  	alert("Du måste skriva citat")
	document.skriv.citat.focus();
	return false;
	}
citat=document.skriv.citat.value;
if(confirm("Vill du lägga till\n" +citat+ " ?"))
return true;
else{return false;}
}
// -->
</script></head>
<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\applications\citatdatabas\data\citat.mdb"

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Radera = "SELECT * FROM citat ORDER BY Citat"
   RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic
	
	A = RecSet.RecordCount
	O = ( 1 / A * 100)
	B = RecSet.RecordCount +1
	C = Round(O,2) %>

	Följande citat finns.<p>
<UL>
<table bgcolor=white>
<%
bgcolor="#ffffff"

Do Until RecSet.EOF
if bgcolor="#e9f0f9" then
bgcolor="#e9f0e9"
else
bgcolor="#e9f0f9"
end if
%>
<tr bgcolor="<%=bgcolor%>">
<td><font face=verdana size="1"><li>
<% =RecSet("Citat") %><br></font></td>
	</tr>	

<%	RecSet.MoveNext
	Loop
	RecSet.Close %>
<table></UL>
<br><br>Lite onödig info:<br><br>För tillfället har vi <b><% =A %></b> st citat....med ditt får vi <b><% =B %></b>. Ett citat motsvarar <b><% =C %></b>% av alla citat sammanlagt. 
<p>Ditt citat:<br><br>
<body onLoad="CheckLen();" oncontextmenu="return false">
<form method="POST" action="default.asp?open=add2" name="skriv" onSubmit="return validateForm()"><p>
<input class="text" type="text" size="30" name="citat" onFocus="CheckLen(this)" onKeydown="CheckLen(this)" onKeyup="CheckLen(this)" onBlur="CheckLen(this)">&nbsp;&nbsp;&nbsp;<span Id=visa></span><br><p>

<input type="submit" value="Lägg till citat" style="font-family: verdana, arial; font-size: 8pt">
<input type="reset" value="Rensa" name="reset" style="font-family: verdana, arial; font-size: 8pt"><input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt">
</form><%end If%>

<% '===================================================================================================================== %>
<% If Request.QueryString("open") = "add2" Then %>
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\applications\citatdatabas\data\citat.mdb" 

VisaCitat = Request.form("Citat")

sql = "insert into citat(citat) values ('" & replace(VisaCitat,"'","''") & "')"
connect.execute sql,,128

set RecSet = connect.execute("select @@identity")

VisaID = RecSet(0)
RecSet.Close
Connect.Close %>

Detta Citatet är inlagt:<p>
<b><%=VisaCitat%></b>&nbsp;&nbsp;<a href="default.asp?open=yes&what=delete&delID=<%=VisaID%>&Citat=<%=VisaCitat%>">Radera</a>&nbsp;&nbsp;&#0124;&nbsp;&nbsp;<a href="default.asp?open=yes&what=edit&delID=<%=VisaID%>">Ändra</a><p>
<input type="Submit" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt"><input type="button" value="Lägg till ett till" onclick="skicka1();" style="font-family: verdana, arial; font-size: 8pt">
<%End If%>
<br>
<% '===================================================================================================================== %>
<%If Request.QueryString("open")="index" then%>
<html>

<title>Inställningar för citatdatabasen</title>

<font size="1" face="verdana, arial">

<b>Logga in för att tabort citat</b><p>
<body onload="document.logg.user.focus();" oncontextmenu="return false">
<form method="POST" action="default.asp?open=del1" name="logg">

Användarnamn:<br><input class="text" type="text" size="30" name="user" style="font-family: verdana, arial; font-size: 8pt"><br>

Lösenord:<br><input class="text" type="password" size="30" name="pass" style="font-family: verdana, arial; font-size: 8pt"><p>

<input type="submit" style="font-family: verdana, arial; font-size: 8pt" value="Logga in"><input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt"><p>

</form>

</font>
<%End If%>

<% '===================================================================================================================== %>

<%if Request.Querystring("open")="del1" then%>
<% IF REQUEST.FORM("pass") = "1210" AND Request.form("user") = "olle" OR session("pass") = "1210" THEN %>
<% session("pass") = "1210" %>

<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\applications\citatdatabas\data\citat.mdb"

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Radera = "SELECT * FROM citat ORDER BY Citat"
   RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic %>

	Följande citat finns att radera/ändra.<p>

	<ul>

<table>
<%
bgcolor="#ffffff"

Do Until RecSet.EOF
if bgcolor="#e9f0f9" then
bgcolor="#e9f0e9"
else
bgcolor="#e9f0f9"
end if
%>
<tr bgcolor="<%=bgcolor%>">
<td><font face=verdana size="1"><li>
	<% =RecSet("Citat") %><br>
		 <a href="default.asp?open=yes&what=deleteitnow&delID=<% =RecSet("ID") %>&Citat=<% =RecSet("Citat") %>">Radera citat</a>&nbsp;&nbsp;&#0124;&nbsp;&nbsp;<a href=default.asp?open=yes&what=edititnow&delID=<% =RecSet("ID") %>>Ändra citat</a>
<br></font></td>
	</tr>	

<%	RecSet.MoveNext
	Loop
	RecSet.Close %>
<table>
<p><input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt"></form><% ELSE %>
<form method="POST" action="default.asp?open=del1">

Användarnamn:<br><input class="text" type="text" size="30" name="user" style="font-family: verdana, arial; font-size: 8pt" value="<%=Request.Form("user")%>"><br>

Lösenord:<br><input class="text" type="password" size="30" name="pass" style="font-family: verdana, arial; font-size: 8pt"><p>

<input type="submit" style="font-family: verdana, arial; font-size: 8pt" value="Logga in"><input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt">
</form>
<% END IF %>
<%end if%>
<%'===================================================================================================================== %>
<% ' Kod för att radera inlägg %>
<% '===================================================================================================================== %>

<% If Request.QueryString("what") = "deleteitnow" Then %>
<% IF REQUEST.FORM("pass") = "1210" AND Request.form("user") = "olle" OR session("pass") = "1210" THEN %>
<% session("pass") = "1210" %>
<% radera = "SELECT * FROM citat WHERE ID = " & Request.QueryString("delID") & " "

   RecSet.Open radera, Connect, adOpenStatic, adLockOptimistic

	RecSet.Delete
	RecSet.Close %>
Följande citat har blivit raderat:<br>
<b><% =Request.QueryString("Citat") %></b><p>
	<input type="submit" value="Tillbaka" onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt">

<%	Else %>
<form method="POST" action="default.asp?open=del1">

Användarnamn:<br><input class="text" type="text" size="30" name="user" style="font-family: verdana, arial; font-size: 8pt" value="<%=Request.Form("user")%>"><br>

Lösenord:<br><input class="text" type="password" size="30" name="pass" style="font-family: verdana, arial; font-size: 8pt"><p>

<input type="submit" style="font-family: verdana, arial; font-size: 8pt" value="Logga in"><input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt"><p>

</form>
<%end if%>
<% End If %>

<% '===================================================================================================================== %>
<% ' Formulärskod för att skicka till redigera inlägg %>
<% '===================================================================================================================== %>

<% If Request.QueryString("what") = "edit" Then %>

<form method="POST" action="default.asp?open=yes&what=delititnow&delID=<% =Request.Querystring("delID")%>">

Användarnamn:<br><input class="text" type="text" size="30" name="user" style="font-family: verdana, arial; font-size: 8pt" value="<%=Request.Form("user")%>"><br>

Lösenord:<br><input class="text" type="password" size="30" name="pass" style="font-family: verdana, arial; font-size: 8pt"><p>

<input type="submit" style="font-family: verdana, arial; font-size: 8pt" value="Logga in"><input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt"><p>

</form>
   

<% End If %>

<% '===================================================================================================================== %>
<% ' Formulärskod för att skicka till radera citat %>
<% '===================================================================================================================== %>

<% If Request.QueryString("what") = "delete" Then %>

<form method="POST" action="default.asp?open=yes&what=deleteitnow&delID=<% =Request.Querystring("delID")%>&Citat=<% =Request.Querystring("Citat") %>">

Användarnamn:<br><input class="text" type="text" size="30" name="user" style="font-family: verdana, arial; font-size: 8pt" value="<%=Request.Form("user")%>"><br>

Lösenord:<br><input class="text" type="password" size="30" name="pass" style="font-family: verdana, arial; font-size: 8pt"><p>

<input type="submit" style="font-family: verdana, arial; font-size: 8pt" value="Logga in"><input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt"><p>

</form>
   

<% End If %>

<% '===================================================================================================================== %>
<% ' Formulärskod för att redigera inlägg %>
<% '===================================================================================================================== %>

<% If Request.QueryString("what") = "edititnow" Then %>
<% IF REQUEST.FORM("pass") = "1210" AND Request.form("user") = "olle" OR session("pass") = "1210" THEN %>
<% session("pass") = "1210" %>

<% Texter = "SELECT * FROM citat WHERE ID = " & Request.QueryString("delID") & " "

   RecSet.Open Texter, Connect, adOpenStatic, adLockOptimistic %>

<head>
<script LANGUAGE="javascript">
<!--
function CheckLen() {
  StrLen = document.skriv.citat.value.length;
    if (StrLen > 100 ) {
      document.skriv.citat.value = document.skriv.citat.value.substring(0,100);
      CharsLeft = 0;
    }else{ CharsLeft =100 - StrLen;
}
  visa.innerText ="Du har " +CharsLeft+ " tecken kvar";
  document.skriv.citat.focus();
} 
 // -->
</script>
<script language="JavaScript">
<!-- Hide

function validateForm() {
var check=/[å\ä\ö]/gi;
var kolla = document.skriv.citat.value.search(check);
if(kolla !=-1)
{
alert("Endast engelska citat!!")
document.skriv.citat.focus();
return false;
}     	
if (document.skriv.citat.value == "")
  	{
  	alert("Du måste skriva citat")
	document.skriv.citat.focus();
	return false;
	}
}
// -->
</script>
</head>
<body onLoad="CheckLen(this)"><b>Citatet:</b>
	<form method="POST" name="skriv" action="default.asp?open=yes&what=editupdate&delID=<% =Request.QueryString("delID") %>" onSubmit="return validateForm()"><p>
<input class="text" type="text" size="80" name="citat" onFocus="CheckLen(this)" onKeydown="CheckLen(this)" onKeyup="CheckLen(this)" onBlur="CheckLen(this)" value="<% =RecSet("citat") %>">&nbsp;&nbsp;&nbsp;<span Id=visa></span><br><p>
<input type="submit" value="Ändra" style="font-family: verdana, arial; font-size: 8pt">
<input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt">
</form>
</body>
<% Else %>
<form method="POST" action="default.asp?open=del1">

Användarnamn:<br><input class="text" type="text" size="30" name="user" style="font-family: verdana, arial; font-size: 8pt" value="<%=Request.Form("user")%>"><br>

Lösenord:<br><input class="text" type="password" size="30" name="pass" style="font-family: verdana, arial; font-size: 8pt"><p>

<input type="submit" style="font-family: verdana, arial; font-size: 8pt" value="Logga in"><input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt"><p>

</form>
   

<% End If %>

<% End If %>

<% '===================================================================================================================== %>
<% ' Formulärskod för att uppdatera inlägg %>
<% '===================================================================================================================== %>

<% If Request.QueryString("what") = "editupdate" Then %>
<% IF REQUEST.FORM("pass") = "1210" AND Request.form("user") = "olle" OR session("pass") = "1210" THEN %>
<% session("pass") = "1210" %>
<%	Addera = "SELECT * FROM citat WHERE ID = " & Request.QueryString("delID") & " "
	RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

	Citat1=RecSet("Citat")

	RecSet("Citat") = Request.Form("citat")

	RecSet.Update

	Citat2=RecSet("Citat")

	RecSet.Close  %>
<html>
<head>
</head>
<body>

<script language="javascript">
<!--
function handler(c){
 c = window.event;
 if(c.keyCode == 13){
  document.skriv.submit();
 }
}
-->
</script>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
document.onkeyup = handler;
//-->
</SCRIPT>
Citatet har ändrats från:<br>
<b><% =Citat1 %></b><br>
till:<br>
<b><% =Citat2 %></b><p><form method="post" action="default.asp?open=del1" name="skriv">
<input type="Submit" value="Ändra/tabort fler"  style="font-family: verdana, arial; font-size: 8pt" name="knapp"><input type="Button" onclick="skicka();" value="Tillbaka" style="font-family: verdana, arial; font-size: 8pt"></form>
</body>
</html>

<% Else %>

<form method="POST" action="default.asp?open=del1">

Användarnamn:<br><input class="text" type="text" size="30" name="user" style="font-family: verdana, arial; font-size: 8pt" value="<%=Request.Form("user")%>"><br>

Lösenord:<br><input class="text" type="password" size="30" name="pass" style="font-family: verdana, arial; font-size: 8pt"><p>

<input type="submit" style="font-family: verdana, arial; font-size: 8pt" value="Logga in"><input type="Button" value=Tillbaka onclick="skicka();" style="font-family: verdana, arial; font-size: 8pt"><p>

</form>
   

<% End If %>
<% End If %>

<% '===================================================================================================================== %>

<% If Request.QueryString("logoff") = "ja" Then%>
	<%Session.Abandon%>
	<%Response.Redirect "default.asp"%>
<% end if%>

</font>

------------------
Check = replace(Request.User("Chair"),"Syrran","Jag")
Tabort_syrran = Check

Medlem sedan dec. 2000596 inlägg
#2

Jag tror inte att någon är villig att redigera den där koden utan nån sorts betalning.

Förvänta dig inte hur mycket som helst...

------------------

Medlem sedan juni 20014 421 inlägg
#3

man kan alltid försöka..... :)

------------------
Check = replace(Request.User("Chair"),"Syrran","Jag")
Tabort = Check

Medlem sedan dec. 200012 464 inlägg
#4

Som sagt, det är något mycket. Du kan ju testa olika bitar var för sig och försöka isolera ut vad det är som tar tid.

T.ex. så verkar du hämta från citat-tabellen flera gånger, det kan vara värt att göra det en gång och cacha resultatet. (I och för sig så kanske det är helt disparata funktioner, svårt att se det vid en snabb genomgång.)

------------------
essentitia preter non sans multiplicandum

Medlem sedan juni 20014 421 inlägg
#5

Tack så mye

------------------
Check = replace(Request.User("Chair"),"Syrran","Jag")
Tabort = Check

Medlem sedan juli 20003 825 inlägg
#6

Rent spontant borde du känna dåligt samvete över att pejsta så mycket kod på samma gång. Det bidrar inte direkt till utvecklingen av forumet och man kan ju stillsamt undra vilken hackerskola du gick i...

Medlem sedan juni 20019 024 inlägg
#7

:OO :o :x

------------------
Peter D

Medlem sedan feb. 20012 412 inlägg
#8

Hej!

Lite generella tips som varit uppe mycket här när det gäller optimera kod.

* Ange Option Explicit och dimma alla variabler.

* Unvdvik använda * när du hämtar info i databasen, om du nu inte ska hämta precis allt. Ange annars bara de fält du ska hämta, kommaseparerade.

* Undik Do loopar (RS.Movenext, loop), samt att skapa RecSets i onödan. Hämta informationen med Getrows() och lägg det i en array som du loopar med en for-slinga istället. Då kan du stänga Connection direkt och änvända infon på hela sidan ändå. )Eller använd while, wend istället.)

* Ska du presentera info i tabellform, använd medtoden Getstring().

* Skapa inga onödiga Recsets vid, Update, Insert och Delete. Skriv istället Connection sql,,128

* Gruppera din ASP i block och undvik växla mellan HTML och ASP (Inline ASP)

* Städa efter dig genom att döda alla använda object. EX:

Connection.Close()
Set Connection = Nothing

* Försök hämta så mycket info som du behöver direkt istället för många SQL-frågor.

* Lägg så mycket som möjligt i subbar som du kan återanvända vid behov.

* Undvik adOpenStatic, adLockOptimistic och filen adovbs.inc (17kb) Ska du använda konstanter, ange de konstanter du använder, utelämna resten.

Lycka till!

Mvh Jörgen

------------------
// Fin signatur
Jorgen hp = new Jorgen(this);

[Redigerat av jorgen den 27 aug 2001]

Medlem sedan juni 20008 205 inlägg
#9

Upptäckte en feting...

 Visa = "SELECT * FROM citat"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic

Antal = RecSet.RecordCount

Nu plockar du fram all data från alla poster. Ponera att du har 2000 citat i databasen, och varje citat är ungefär 50 tecken. Då drar du in en massa kilobytes (drygt 97,6, närmare bestämt) i minnet i onödan.
Vad du borde göra är att använda aggregatfunktionen COUNT:

Visa = "SELECT COUNT(*) AS antal FROM citat"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
Antal = RecSet("antal")

Och, som sagt, dimma variablerna.

------------------
The mud can make you prisoner, the plains can make you dry,
the snow can burn your eye but only people make you cry...

[Redigerat av spango den 27 aug 2001]

Medlem sedan jan. 20001 372 inlägg
#10

du skulle ju t ex kunna byta ut såna här delar:

<% END IF %>
<%end if%>
<%'===================================================================================================================== %>
<% ' Kod för att radera inlägg %>
<% '===================================================================================================================== %>

<% If Request.QueryString("what") = "deleteitnow" Then %>
<% IF REQUEST.FORM("pass") = "1210" AND Request.form("user") = "olle" OR session("pass") = "1210" THEN %>
<% session("pass") = "1210" %>
<% radera = "SELECT * FROM citat WHERE ID = " & Request.QueryString("delID") & " "

RecSet.Open radera, Connect, adOpenStatic, adLockOptimistic

RecSet.Delete
RecSet.Close %>

mot:

<%
END IF
end if
'=====================================================================================================================
' Kod för att radera inlägg
'=====================================================================================================================

If Request.QueryString("what") = "deleteitnow" Then
IF REQUEST.FORM("pass") = "1210" AND Request.form("user") = "olle" OR session("pass") = "1210" THEN
session("pass") = "1210"
radera = "SELECT * FROM citat WHERE ID = " & Request.QueryString("delID") & " "

RecSet.Open radera, Connect, adOpenStatic, adLockOptimistic

RecSet.Delete
RecSet.Close %>

------------------
// David - Probably the best guy in the world

Medlem sedan dec. 200012 464 inlägg
#11

Eller ännu hellre till


<%
END IF
end if
'=====================================================================================================================
' Kod för att radera inlägg
'=====================================================================================================================
If Request.QueryString("what") = "deleteitnow" Then
IF REQUEST.FORM("pass") = "1210" AND Request.form("user") = "olle" OR session("pass") = "1210" THEN
session("pass") = "1210"
radera = "delete FROM citat WHERE ID = " & Request.QueryString("delID")

connect.execute radera,,128
%>

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 27 aug 2001]

Medlem sedan juni 20014 421 inlägg
#12

Ok tack så mycket allihop.....skall aldrig mer klistra in så mycket kod igen..jag lovar... :r

------------------
Check = replace(Request.User("Chair"),"Syrran","Jag")
Tabort = Check

Medlem sedan okt. 20005 273 inlägg
#13

Jag har en fråga om OPTION EXPLICIT är det verkligen så att man tjänar in prestanda genom att använda den, jag har för mig att jag läst nånstans att man kan köra med OPTION EXPLICIT i början när man kodar en sida och sen när man ser att allt funkar så tar man bort OPTION EXPLICIT för att den tar mer tid på sig.

Är detta ett bra sätt att arbeta på :q

------------------

- Vet du vad det blir om en kille från Dalarna startar en tidning och en radiokanal?
- Nej.
- Mas-media.

[Redigerat av icaaq den 28 aug 2001]

Medlem sedan mars 20002 836 inlägg
#14

OPTION EXPLICIT är det verkligen så att man tjänar in prestanda genom att använda den

Testa dessa kodsnuttar:

<%
dteStart = Timer()

For I = 0 To 1000000
a = a + 1
Next

Response.Write FormatNumber((Timer() - dteStart)*1000,0) & " ms."
%>

Och denna:

<%
Option Explicit

Dim dteStart, I, a

dteStart = Timer()

For I = 0 To 1000000
a = a + 1
Next

Response.Write FormatNumber((Timer() - dteStart)*1000,0) & " ms."
%>

Dessa borde ge en klar fingervisning om vad som är snabbast.

cya,
PatrikB

------------------
*ordning och reda!, pengar på fredag.*

[Redigerat av PatrikB den 28 aug 2001]

Medlem sedan maj 20011 312 inlägg
#15

Vad blev det för resultat på det med option.explicit?

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

Medlem sedan maj 20011 312 inlägg
#16

PatrikB. Hur funkar din tidsmätningsmetod? jag antar att man ska lägga sin kod mellan dteStart = Timer() och For I = 0 To 1000000 eller?

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

Medlem sedan aug. 20012 349 inlägg
#17

Om man skriver option explicit så sturntar kompilatorn i att leta efter variabler allt eftersom den kompilerar, den förväntar sig att alla variabler är dimmade.

Därav går det fortare.

------------------
calling me a motherfucker, saying he's gonna blow me away and blah, blah, blah, blah, blah.
National Blonde Day!

Medlem sedan juni 20008 205 inlägg
#18

En gammal tråd...

------------------
The mud can make you prisoner, the plains can make you dry,
the snow can burn your eye but only people make you cry...

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)