webForumDet fria alternativet

Optimera användandet av värden från DB?

ASP

3 svar · 230 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

Många webbplatser består ju av en "framsida" som alla besökare ser och en "baksida" som man uppdaterar webbplatsen från. Om man inte själv ska underhålla texter m.m. på webbplatsen och den som ska göra det inte är speciellt bra på att hantera .html eller .asp-filer, då kan man ju lägga in den mesta informationen på webbplatsen såsom små texter, telefonnummer m.m. i en databas. Min fråga är, vilket är det bästa sättet att plocka fram dessa uppgifter och skriva ut dem på sidan? Typ göra en koppling till databasen och tilldela en massa variabler med värden och sedan stänga kopplingen. Och sedan skriver man bara ut värdet i variablerna där det behövs?
Om man ska använda dessa variabler på flera olika sidor måste man väl göra kopplingen på varje sida? Eller med en include? Har jag fel?

Medlem sedan maj 2002821 inlägg
#2

Någon som har någon åsikt om detta lr?

Medlem sedan sep. 20026 425 inlägg
#3

För att eliminera risken att använda SSI (inckuderingsfiler), så skulle jag rekommendera att du använde procedurer. På en sida, säg att den heter proc.asp, så samlar du kod i procedurer, så här:

Sub startsida()

'anslut till databas, skriv ut info m.m.
End Sub

Sub liten_ruta()

'plocka ut info ur databas

End Sub

Där du sedan vill skriva ut informationen som man får ur procedure liten_ruta så skriver du

<%
liten_ruta()
%>

på den platsen.

Saker som för övrigt är att tänka på är att:

- alltid stänga databasobjekt så fort man inte använder dem
- gärna använda GetRows(), kan ge prestandaökningar
- skriva Option Explicit högst upp på dina sidor, så att variabler måste deklareras med Dim.
- Använd inte SQL-frågor som

SELECT [b]*[/b] FROM tabell

utan skriv hellre fältnamnen i stället för jokertecknet:

SELECT falt1, falt2 FROM tabell

- I stället för SSI kan man använda Server.Execute på sina ställen. Betydligt mindre prestandaslukande, exempelvis om man visar information beroende på vad som finns i querystringen i adressen; exempelvis default.asp?cat=info i stället för /info/default.asp. Hoppas du förstår. ;)

Det var lite tips jag hade att dela med mig av, andra kommer säkert med mer vettiga grejor. :D

Medlem sedan aug. 20013 824 inlägg
#4
  1. Du kan inte använda server.execute() om du hade tänkt att anropa "subbarna" i proc.asp utifrån...
    Exempelvis:
[b]'//Feeel![/b]
Server.Execute("proc.asp")
Call liten_ruta()
  1. m_soderlund skrev: - skriva Option Explicit högst upp på dina sidor, så att variabler måste deklareras med Dim.

Då säger jag, beroende ju på vilket språk du väljer att skriva det i ;) :birp

Lycka till! :)

276 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)