webForumDet fria alternativet

Några frågor om funktioner och include?

ASP

13 svar · 229 visningar · startad av Janspeed

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

Tjena!

Sitter här och klurar lite. Jag har byggt upp en site med hjälp av moduler som var och en har olika syften. Modulerna används främst vid beställning.

Det jag undrar nu är om det lönar sig att göra om dessa moduler till funktioner? De kommer troligtvis att fortfarande ligga i en includefil om det inte finns något bättre alternativ men kan det tänkas att man tjänar något på att göra om dem till funktioner?

En av fördelarna är ju att man själv kan välja när de ska köras men nackdelen är att det skulle krävas en del arbete för att få det att fungera och kan man lika gärna inkludera koden så är det nästan inte värt det?

Några åsikter/förslag/tankar?

Tack på förhand. :)

//JANspeed

Medlem sedan jan. 2001510 inlägg
#2

Som vanligt så var det tydligen ingen som fattade var jag menade.

Det jag undrar över är om det är värt att göra om kod som man include:ar till en funktion?

Med värt menar jag typ prestandavinst, ökad funktionalitet eller något annat roligt som jag inte tänkt på? :)

Medlem sedan juni 200032 967 inlägg
#3

När du funktioniserar din kod vinner du en helt ny dimension av kodåtervinning.

Tänk lite på det. ;)

Mvh,

------------------
All your base are belong to me.

Medlem sedan dec. 19998 577 inlägg
#4

... plus att det inte blir lika stökigt med globala variabler, om du kapslar in det mesta i funktioner så slipper du att tänka på om det finns krockar eller inte... :)

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

Medlem sedan jan. 2001510 inlägg
#5

Hur gör jag då för att slippa öppna databaskopplingen två gånger om jag har två moduler som bägge utnyttjar databaser?

/JANspeed

Medlem sedan dec. 200012 464 inlägg
#6

Du öppnar ett connectionobjekt och sedan skickar du det som parameter till funktionerna.

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

Medlem sedan maj 20009 inlägg
#7

Det allra bästa är att alltid sträva efter att lägga koden i en klass. På så sätt blir det en baggis att utföra ändringar.

Då kn du med fördel öppna kopplinga och dylikt i class_Initialize och stänga dom i class_Terminate

//Micke

Medlem sedan jan. 2001510 inlägg
#8

Både LarsGs och bulows förslag låter intressanta men hur implementeras det? Har ni något kodexempel?

/JANspeed

Medlem sedan jan. 2001510 inlägg
#9

Är det möjligt att inkludera en funktion längs ned på sidan fast ändå köra den med resten av koden? Eller ska man lägga till funktionerna överst? Hur gör ni andra?

/JANspeed

Medlem sedan juni 200032 967 inlägg
#10

Du kan inkludera var du vill, eftersom SSI körs innan asp-tolken gör sitt.

Du har tillgång till funktionerna vare sig din include ligger först eller sist i dokumentet.

Jag brukar alltid göra includes överst, när det gäller funktionsfiler.

Mvh,

------------------
Har du sett Bires lilla häst?

Medlem sedan jan. 2001510 inlägg
#11

Använder jag en Sub eller en Function?

Verkar det här vettigt?

<%

'Open conn
Dim Conn

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "driver={SQL Server};server=localhost;uid=*;pwd=*;database=*"	
Conn.Open

'Function

Function add_to_db(Conn, Kampanjkod, OrderText, Produkt, Epost)

Dim rs, SQL

SQL = "spOrderIns '" & Kampanjkod & "', '" & OrderText & "', '" & Produkt & "', '" & Epost & "'"

Set rs = Conn.Execute(SQL)

add_to_db = rs("ID")

Set rs = Nothing

End Function

'Close

Conn.Close
Set Conn = Nothing
%>

Hygglo alla som hjälper till. :)

/JANspeed

Medlem sedan jan. 2001510 inlägg
#12

Glömde att köra själva funktionen också.

<%

'Open conn
Dim Conn

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "driver={SQL Server};server=localhost;uid=*;pwd=*;database=*"	
Conn.Open

'Function

Function add_to_db(Conn, Kampanjkod, OrderText, Produkt, Epost)

Dim rs, SQL

SQL = "spOrderIns '" & Kampanjkod & "', '" & OrderText & "', '" & Produkt & "', '" & Epost & "'"

Set rs = Conn.Execute(SQL)

add_to_db = rs("ID")

Set rs = Nothing

End Function

[b]'Run function
RefNr = add_to_db(Conn, "Ugha bougha", "Beställning", "Fiol", "gubben@noak.com")[/b]

'Close

Conn.Close
Set Conn = Nothing
%>

[Redigerat av Janspeed den 20 dec 2001]

Medlem sedan dec. 200012 464 inlägg
#13

jo

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

Medlem sedan jan. 2001510 inlägg
#14

Då kör jag med en function. Tack för hjälpen och God Jul. :)

/JANspeed

[r] Menare ju självklart en function inte en sub. Subbarna returnerar ju inga värden. [/r]

[Redigerat av Janspeed den 21 dec 2001]

250 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)