La manipulation ADODB connexions en ASP classique

Je suis un ASP.NET C# gars qui a de l'ASP classique, et a besoin d'aide avec elle.

Premier coup d'oeil, ce sont les deux fonctions (je sais en VBScript les commentaires sont déclarées par ' et non par // mais la syntaxe surligneur ici mess avec ').

Première version:

Function DoThing

    Dim Connection, Command, Recordset

    Set Connection = Server.CreateObject("ADODB.Connection")
    Set Command = Server.CreateObject("ADODB.Command")
    Set Recordset = Server.CreateObject("ADODB.Recordset")

    Connection.Open "blah blah blah"
    Command.CommandText = "blah blah blah"
    Recordset.Open Command, Connection

    If Recordset.EOF = False Then

        While Recordset.EOF = False Then

            // Do stuff.

            Recordset.MoveNext

        WEnd

    Else

        // Handle error.

    End If

    Recordset.Close
    Connection.Close

    Set Recordset = Nothing
    Set Command = Nothing
    Set Connection = Nothing

End Function

Deuxième version:

Function DoAnotherThing

    Dim Connection, Command, Recordset

    Set Connection = Server.CreateObject("ADODB.Connection")
    Set Command = Server.CreateObject("ADODB.Command")

    Connection.Open "blah blah blah"

    Command.ActiveConnection = Connection
    Command.CommandText = "blah blah blah"

    Set Recordset = Command.Execute

    If Recordset.EOF = False Then

        While Recordset.EOF = False Then

            // Do stuff.

            Recordset.MoveNext

        WEnd

    Else

        // Handle error.

    End If

    Recordset.Close
    Connection.Close

    Set Recordset = Nothing
    Set Command = Nothing
    Set Connection = Nothing

End Function

Maintenant, nous allons commencer avec les questions:

Question #1:

Ce qui est le mieux,

Connection.Open "blah blah blah"
Command.CommandText = "blah blah blah"
Recordset.Open Command, Connection

ou

Connection.Open "blah blah blah"

Command.ActiveConnection = Connection
Command.CommandText = "blah blah blah"

Set Recordset = Command.Execute

?

Question #2:

Lors Sélectionne dois-je utiliser déconnectés comme

Set Recordset = Command.Execute

Command.ActiveConnection = Nothing

Connection.Close

Set Connection = Nothing

?

La Question n ° 3:

Dois-je appeler

Recordset.Close
Connection.Close

même si je ne

Set Recordset = Nothing
Set Command = Nothing
Set Connection = Nothing

juste en dessous (c'est à dire le garbage collector lorsqu'il est appelé par le Set Stuff= Nothing aussi .Close avant la destruction)?

La Question n ° 4:

Dois-je inclure le

Recordset.Close
Connection.Close

Set Recordset = Nothing
Set Command = Nothing
Set Connection = Nothing

des trucs même si la fonction s'arrête là, et que ces objets est hors de portée, et le garbage collector (devrait) prend soin d'eux?

La Question n ° 5:

Classique ASP ont mis en commun de connexion, afin que je puisse les ouvrir et les fermer avec chaque commande, ou devrais-je passer une commune de la connexion de l'objet autour de vous?

Merci d'avance pour votre aide, Andrea.

Pour raisonnable VB commentaires sur StackOverflow, ajouter la fermeture des guillemets simples, à la fin de chaque commentaire. Sinon pour le formateur de code, ils sont juste sans terminaison des chaînes de caractères.

OriginalL'auteur Albireo | 2010-09-22