IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

[Debutant] Insert en ASP


Sujet :

ASP

  1. #1
    Membre éclairé Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Par défaut [Debutant] Insert en ASP
    Re-Bonjour,

    Juste une question, lorsque l'on fait un insert en ASP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Requete_insert= "Insert into Machin(Truc, Truc1) values ('"bla bla bla );"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open requete_insert, Con
    Peut on mettre : rs.close juste après?

    Merci beaucoup

  2. #2
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par jamesleouf Voir le message
    Re-Bonjour,

    Juste une question, lorsque l'on fait un insert en ASP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Requete_insert= "Insert into Machin(Truc, Truc1) values ('"bla bla bla );"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open requete_insert, Con
    Peut on mettre : rs.close juste après?

    Merci beaucoup
    Salut,

    Tu peux mais alors tu ferme la source de tes données.

    Moi je le fais (rs.close) pour l'ouvrir à nouveau avec des nouveaux paramètres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    rst.close
    rst.open "Historique", cnn, 2, 3
    De toute façon, à la fin de ton traitement, il est conseillé de fermer.

    @ bientôt
    beegees

  3. #3
    Membre éclairé Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Par défaut
    oui mais donc ca veut dire qu'a la ligne :
    rs.Open requete_insert, Con

    l'insert à été fait et donc que je peux fermer c'était ca ma question en fait.
    Merci beaucoup

  4. #4
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par jamesleouf Voir le message
    oui mais donc ca veut dire qu'a la ligne :
    rs.Open requete_insert, Con

    l'insert à été fait et donc que je peux fermer c'était ca ma question en fait.
    Merci beaucoup

    à mon avis tu peux si tu n'as plus rien à insérer.

    Demande un second avis, ça vaut mieux
    beegees

  5. #5
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    J'ajouterai après le rs.close :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    rs.close
    Set rs = Nothing

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    S'agissant d'une insertion ou d'une mise à jour, si on ne récupère aucun résultat (ni même le nb de lignes affectées), j'utiliserais un objet "command" (ADODB.Command).

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  7. #7
    Membre éclairé Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Par défaut
    je ne comprend pas bien pourquoi il faudrait faire tout ca...
    normalement apres avoir fait:

    rs.Open requete_insert, Con

    l'insert/update ou delete devrait deja etre fait... je ne comrpends pas pourquoi un simple close ne ferait pas l'affaire.
    Au pire, comme c'est dans une boucle le rs est recrée... non?

  8. #8
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    je ne comprend pas bien pourquoi il faudrait faire tout ca...
    Tout ça quoi?
    En développement, c'est en général le plus feinéant qui a raison.
    Si tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set cn = Server.create("ADODB.Connection")
    cn.Open "chaine de connexion"
    Set rs = server.create("Adodb.recordset")
       rs.open ...
       rs.close
    Set rs = Nothing
    Cela veut dire que tu récupères un recordset (tu fais remonter des données du serveur sql à IIS). Autrement dit tu donnes un ordre au serveur sql, qui te répond et que tu écoutes. Tout cela alors que tu n'en as pas besoin.
    Le plus simple comme tu dis, et selon moi, c'est de donner un ordre et de n'écouter la réponse que si il y a un pb. Sinon, on s'en fiche.
    Donc de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set cn = Server.create("ADODB.Connection")
    cn.Open "chaine de connexion"
    Set cmd = server.create("ADODB.Command")
    cmd.ActiveConnection = cn
    cmd.CommandText = "UPDATE TOTO ..."
    cmd.execute()
    cmd.CommandText = "UPDATE TATA ..."
    cmd.execute()
    http://www.w3schools.com/ADO/met_comm_execute.asp
    D'autant qu'il existe une methode Update et AddNew pour les recordset. Mais je ne la trouve pas fiable.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  9. #9
    Membre éclairé Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Par défaut
    En fait ma question était :
    pourquoi rs = nothing?

    Merci des renseignements

  10. #10
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Citation Envoyé par jamesleouf Voir le message
    En fait ma question était :
    pourquoi rs = nothing?

    Merci des renseignements
    Quand tu fais set rs = server.createobject("ADODB.Recodset"), tu crées une instance en mémoire.

    le nothing détruit cette instance.

  11. #11
    Membre éclairé Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Par défaut
    Dans ce cas, à quoi sert le close?

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Salut,

    Le close ferme la connexion à la base.
    Le nothing libère l'instance, donc libère de l'espace dans la mémoire cache.

  13. #13
    Membre éclairé Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Par défaut
    Merci beaucoup tekp@f

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [debutant] insertion d'éléments dans une List
    Par gwenou60 dans le forum Composants
    Réponses: 1
    Dernier message: 05/12/2005, 09h59
  2. [Debutant]Insertion dans une table, Transaction et Procedure
    Par etiennegaloup dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 01/11/2005, 16h47
  3. [Debutant] Insert ou update...
    Par kluh dans le forum Oracle
    Réponses: 15
    Dernier message: 13/07/2005, 14h35
  4. [Debutant]Insertion nulle mais '' dans la base
    Par Tchinkatchuk dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 18/04/2005, 09h58
  5. [debutant]insertion dans une BDD
    Par EssaiEncore dans le forum ASP
    Réponses: 7
    Dernier message: 10/02/2005, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo