webForumDet fria alternativet

function

ASP

5 svar · 237 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

liten fråga, är det nån skilnad på att använda dessa:

set Conn=Connclose
och
call Connclose

de används för att hämta en databasstängning

Function Connclose
objConn.close()
set objConn = nothing
set Connclose=objConn
End Function

'set Conn=Connclose
call Connclose

så vitt jag kan se så fungerar båda.

Medlem sedan dec. 200012 464 inlägg
#2
set Conn = Connclose()

är mer korrekt med hur du har kodat. En funktion returnerar ett värde. Jag är förvånad(?) att det går att använda call.

Att du egentligen inte behöver en funktion är en annan sak.

Att använda globala variabler är heller inte bra, det är lätt att införa fel på det sättet. Jag skulle ha gjort så här

Sub Connclose(objConn)
objConn.close
set objConn = nothing
End Sub

call Connclose(objConn)
Medlem sedan juni 20003 076 inlägg
#3

ursprungligen så kommer koden från emission.
han kör med function, du med sub, vilken betydelse har det egentligen?
det jag vill är att kunna använda koden till flera öppningar/stängningar på sidan, ska re va sub eller function då?
emissions kod:

Function GetDBConn
set m_objConn=server.createobject("ADODB.Connection")
m_objConn.Open "blablabla"
set GetDBConn=m_objConn
End Function

'och sedan när den ska användas

set objConn=GetDBConn
Medlem sedan feb. 20001 590 inlägg
#4

Använder man en funktion så kan ev. felkod returneras.

/T

Medlem sedan juni 20003 076 inlägg
#5

hmm, jag känner mig fortfarande förvirrad på vad jag ska använda.
om man får upp felkod så är väl det bra så man kan åtgärda den, det talar väl för function!

Jag är förvånad(?) att det går att använda call

jag är inte hundra på det, jag fick bara inte något felmeddelande.
jag har någon svag känning av att man kan kontrollera om databasen är stängd, hur skriver man då?

Medlem sedan dec. 200012 464 inlägg
#6

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdprostate.asp

if objconn.state = 0 then

Även om det fungerar med call så tycker jag att man bör skilja på hur man använder function och sub. Jag kan ju inte påstå att jag gillar VB-script med dess lösa typning, variabler som inte måste deklareras etc.

292 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
163 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
155 ms — ändringar (db)