Skriv inte för mycket kod, återanvänd den istället.
Förord
Som vanligt så kom jag på mig själv, att jag gång skrev samma koder, gång på gång, sida upp och sida ner. Det var alltifrån headern (början på en ASP-fil), till footen(slutet på samma fil) till databas kopplingarna, tabeller osv. Jag förstod att det skulle vara av vikt, att komma på något radikalt. Av en händelse så började jag att snegla på subbar, men inte som jag normalt brukade använda dem, utan istället skicka med argument och på så sätt få tillbaka ett (eller flera) värde/n. Det jag vill försöka att beskriva här, är alltså den typ av kod skrivning, som handlar om att använda sub rutiner med argument, och hur Du enkelt kan applicera detta i Dina ASP - sidor.Innehåll
»»
»
»
»
»
»
»
Relaterade artiklar
Inledning
Precis som jag har gjort i mina tidigare artiklar Artikel [Ett Administrations script för webb baserad databas Del 1] Artikel [Ett Administrations script för webb baserad databas del 2] och Artikel [Ett Administrations script för webb baserad databas del 3] , så använder
jag en fil(Header.asp) i början av mina ASP-filer, och en fil(Foter.asp) till slutet av ASP-filen.
Jag använder mig dessutom styles.css, dataconn.asp och TableAndButtons.asp.
Header.asp
Denna fil ser i stort sett ut som tidigare…
<%
Option Explicit
Response.buffer = True
Dim titel,Connection,RS,SQL,Number
If request.Querystring("message")="" then
titel ="Min Administation"
else
titel = request.Querystring("message")
End If
%>
<%=titel%>
Vi använder oss av Option Explicit, den är väldigt viktig för den låter oss inte glömma bort att göra
våra variabler och dimma dessa.
Response.buffer = True innebär att vi skickar ingenting förrän ASP-kompilatorn har kompilerat
all ASP kod.
Därefter så kommer en if-sats, som tar hand om titeln på våra sidor, det kan ju vara trevligt att
ha den korrekt.
Sen så kör vi HTML-koden, och länkar ihop med css-mallen.
Foter.asp
Det är ju ganska så behändigt att använda dessa filer som include-filer.
Eftersom filen är så liten, så behövs knappas någon kommentar om den.
Styles.css
Jag visar bara en del av stilmallen, vill ni ha hela så kan Du titta på de föregående artiklarna.
.Dark
{
FONT-FAMILY:verdana,geneva;
BACKGROUND-COLOR:#F4F1F1;
COLOR:#804040;
FONT-SIZE: 10pt;
FONT-WEIGHT:bold;
}
.Light
{
FONT-FAMILY:verdana,geneva;
BACKGROUND-COLOR:#FFFFFF;
COLOR:#804040;
FONT-SIZE: 10pt;
FONT-WEIGHT:bold;
}
TD
{
BORDER-BOTTOM: black thin;
BORDER-LEFT: black thin;
BORDER-RIGHT: black thin;
BORDER-TOP: black thin;
COLOR: #804040;
FONT-FAMILY: trebuchet, verdana, Arial, geneva;
FONT-SIZE: 8pt;
}
Lägg gärna ihop detta med Din tidigare stilmall.
Dataconn.asp
När det gäller data connection, så vet jag att man kan diskutera för och emot hur mycket,
och hur länge som helst på vilket som är det bästa sättet att ansluta en databas, men
man väljer ju sin egen favorit. Så här har jag valt att ansluta databasen.
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
& server.MapPath("MinDataBas.mdb")
%>
Jag använder mig av OLEDB Jet drivrutinerna, helt kanonbra och det blir sällan några problem.
TableAndButtons.asp
Här kommer nu hela hemligheten…
…nja inte riktigt, men en bit av den, lite måste ni själva upptäcka, när jag väl har
pekat ut hur Du nu skall göra.
Vad jag ville skicka med för argument till subben är:
Dessutom så ville jag att den skulle hantera tr & td-taggarna och samt lägga till en knapp.
sub tTablesCountDb(tTableName,aApplication,buttonName,sStyle)'använd i Admin
Set Number = connection.Execute ("Select Count(*) As Antal FROM "
& tTableName &" ")
response.write "
" & aApplication & " " & _
" " & Number("Antal") & " poster
registrerade. " & _
" VALUE="" ""> " & _
aApplication &" "
End Sub
Om ni nu tittar på denna sub, så ser ni att den vill ha:
tTableName dvs. den databas tabell som Du skall räkna antalet poster på.
aApplication dvs. den text som Du vill ha för att förtydliga vart som händer
när någon klickar på knappen.
buttonName dvs. det namn som Du vill ge knappen.
sStyle dvs vilken class som Du vill ha ifrån stilmallen.
Sen när vi kallar på alltihopa så..
Allt ihop tillsammans..
Då kör vi
Min Administation
(OBS if-satserna måste skrivas på en rad)
Har Du nu gjort allting rätt, så kan det se så här ut:
Avslutningsvis
Med den här tekniken, så är det väldigt lätt att implementera en massa olika möjligheter och
händelser till Dina ASP-sidor.
Om nu inte detta räcker som en början, så får Du gärna kontakta mig, så skall jag komplettera
med ytterligare artikel om användningsområde för sub med argument.
Med vänlig hälsning
Benni Svensson
Pelle Johansson
Här visar du tydligt på att användare bör tänka sig för när de programmerar. Planering är a och o. Ju mer grundarbete desto bättre rutiner, minder kod och möjligheter till återanvändning.
Cerrolyn Wedin
En bra artikel som är lätt att förstå ;o)
Kristoffer Ljungqvist
Men med hans sätt att ansluta så måste den del som ansluter till databasen (Sidan) alltid ligga i en och samma mapp. Har man en sida som är uppbyggd så här. ' huvudmapp med sida. ' under mapp med sida ' under mapp med sida 2 då kan jag inte med hanns include infoga databas kopplingen till en under sida och till under sida 2. Då måste jag ha ytterligare 1 fill för undermappar för sida och sida 2. Kan man kringå det på något sätt? har testat men inte fått hans sätt att funka.