webForumDet fria alternativet

function

5 svar · 237 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 100 inlägg
#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.

LarsGMedlem sedan dec. 200012 465 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)
doggelitoMedlem sedan juni 20003 100 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
ToonsterMedlem sedan feb. 20001 546 inlägg
#4

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

/T

doggelitoMedlem sedan juni 20003 100 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å?

LarsGMedlem sedan dec. 200012 465 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.

Genererad på 360 ms · cache AV · v20260730165559-full.f96bc7eb