webForumDet fria alternativet

stänga databas på en asp sida?

ASP

4 svar · 322 visningar · startad av Dashi

Medlem sedan jan. 2005296 inlägg
Frågan#1

OBS! Vill ha svar på båda frågorna!!

1. Varför stänger man igentligen en connection och en recset efter man är klar?

2. Kolla koden nedan, när man tryck på submit och kommer till slut fram till denna raden: Response.Redirect "andrauppg.asp?kolla=klar" går den vidare då och läser klart koden och stänger databasen eller ska man sätta att den ska stänga innan response.redirect osså??

<%
anv = Cstr(session("vem"))
		  
Set conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(databas)

Visa = "SELECT * FROM tabell WHERE anv = '" & Replace(anv, "'", "''") & "' ORDER BY anv" 
RS.Open Visa, conn, adOpenStatic, adLockOptimistic %>

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

<form method="post" action="andraupp.asp?kolla=ny">

<input type=submit name=Submit value="<%=txt_update%>" class="button">

<input type=reset value="<%=txt_rensa%>" class="button" name="reset">

</form>

<% End If %>

<% If Request.Querystring("kolla") = "ny" Then

RS("anv")

Response.Redirect "andrauppg.asp?kolla=klar"

End If %>

<% If Request.Querystring("kolla") = "klar" Then %>
<div align="center"><font face="Times New Roman, Times, serif" size="2"><br>
<b>Dina uppgifter har nu &auml;ndrats!</b></font></div>
<% End If %>

<% RS.Close
conn.Close

Set RS = nothing
Set conn = nothing %>

Mvh //Darek

Medlem sedan apr. 20022 743 inlägg
#2

1. För att det inte ska ligga några connections på servern som inte används då det tar onödig prestanda. Databaser har även ett begränsat antal anslutningar de kan hantera samtidigt. Om du då inte stänger databasen när den inte används gör det att någon som vill använda den kanske inte kan det eftersom det är fullt.

2. Koden under din redirect körs inte utan du skickas vidare direkt.

Medlem sedan jan. 2005296 inlägg
#3

Poffe skrev:

1. För att det inte ska ligga några connections på servern som inte används då det tar onödig prestanda. Databaser har även ett begränsat antal anslutningar de kan hantera samtidigt. Om du då inte stänger databasen när den inte används gör det att någon som vill använda den kanske inte kan det eftersom det är fullt.

2. Koden under din redirect körs inte utan du skickas vidare direkt.

1. aha okej, så det är typ därför lunarstorm har en sida som kommer upp nu är det stressigt, det är när för många bläddrar och databaskopplingarna blir fulla?

2. så med andra ord så ska jag sätta en stängning innan redirecten?

måste jag sätta en stängning på fler ställen?

Medlem sedan apr. 20022 743 inlägg
#4

1. Vet inte hur Lunarstorm är uppbyggd eller vad de använder för tekniker. Visste inte ens att sidan fanns kvar. Men in princip ja, kan tänka mig att det komme rupp nått sånt om servern blir för överbelastad. Om det är databasen eller webbservern låter jag vara osagt.

2. Ja.

Om du öppnar databasen så ska du stänga den när du är klar. Du varken kan eller behöver stänga den fler gånger, är den stängd så är den ju stängd.

Medlem sedan jan. 2005296 inlägg
#5

Poffe skrev:

1. Vet inte hur Lunarstorm är uppbyggd eller vad de använder för tekniker. Visste inte ens att sidan fanns kvar. Men in princip ja, kan tänka mig att det komme rupp nått sånt om servern blir för överbelastad. Om det är databasen eller webbservern låter jag vara osagt.

2. Ja.

Om du öppnar databasen så ska du stänga den när du är klar. Du varken kan eller behöver stänga den fler gånger, är den stängd så är den ju stängd.

jo jag vet, men jag mena mer såhär, när man kommer in på sidan så öppnas ju databasen den läser igenom allt visar de mellan

<% If Request.QueryString("kolla") = "" Then %> och
<% End If %>

fortsätter läsa filen och stänger databasen, sedan trycker jag på submit, då läses filen om ju för informationen ligger i den filen då öppnas databasen upp igen allt utförs som finns mellan

<% If Request.Querystring("kolla") = "ny" Then och
End If %>

måste därför stänga databasen innan redirecten och sedan redirectas den till samma sida med nästa information då startar den databasen igen visar allt mellan

<% If Request.Querystring("kolla") = "klar" Then %> och
<% End If %>

sedan läser den vidare på filen och stänger databasen igen, Har jag fattat det hela rätt? :)

265 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)