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 :

insertion ds une BD: seule la première insertion fonctionne


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 35
    Points : 32
    Points
    32
    Par défaut insertion ds une BD: seule la première insertion fonctionne
    Lorsque je fais une insertion dans ma BDD, ca roule, tout se passe bien. Par contre, à partir du moment où je fais une deuxième insertion grâce à la même connexion, ca ne fonctionne plus.

    En gros, j'ai droit à une insertion par connexion, ce qui est gênant. Même la fermeture de la connexion ne change rien, il me faut carrément changer le nom de la variable de connexion à chaque fois pour que ca marche.

    Le code est pourtant très simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    valeur="cinquieme"
     
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "GESTION_DEMANDES"
     
    insert = "INSERT INTO uf VALUES ('"& valeur &"');"
    Set Reco = Conn.Execute(insert)
     
    Conn.Close  
    set Conn = nothing
    set Reco = nothing

    Si ensuite je refais une insertion, du genre le même code mais en changeant la valeur de la variable 'cinquieme', ca ne fonctionne pas et le message suivant apparait:


    Provider error '80004005'

    Erreur non spécifiée

    /maquette/NA_tests.asp, line 20
    Sachant que la ligne 20 en question est celle de "Conn.Open "GESTION_DEMANDES"


    Quelqu'un aurait une idée ? Je sèche, là...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 367
    Points : 414
    Points
    414
    Par défaut
    Salut,

    je suis pas certain d'avoir bien compris, mais il me semble que tu essayes d'ouvrir une connexion qui est deja ouverte. C'est le genre de message que tu as lorsqu'access est ouvert par exemple.

    D'autre part je ne comprend pas ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    conn.execute(insert) suffit pour executer ton instruction sql

  3. #3
    Membre actif Avatar de roots_man
    Inscrit en
    Août 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 328
    Points : 282
    Points
    282
    Par défaut
    tu as que un seul champs dans ta table 'uf' ??

    Juste au passage. pour l'execution, pas besoin de créer un recordset :
    [edit]grillé [/edit]

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Gwenn
    je suis pas certain d'avoir bien compris, mais il me semble que tu essayes d'ouvrir une connexion qui est deja ouverte. C'est le genre de message que tu as lorsqu'access est ouvert par exemple.
    Effectivement, c'est aussi ce que j'ai compris.
    Mais le plus étonnant est que je tente bien de fermer la connexion à la fin de mon bout de code, grâce au

    Il ne devrait donc pas y avoir de problème !

    D'autres part, la commande

    Permet de détruire le recordset (j'ai vu ca sur un site d'apprentissage de l'ASP, et j'ai essayé pour voir si ce n'était pas le recordset qui faisait tout merder )





    Mais, au final, ca devait effectivement etre mon recordset qui flanquait tout par terre: le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    valeur="huitieme"
     
     
     
    Set Connex = Server.CreateObject("ADODB.Connection")
    Connex.Open "GESTION_DEMANDES"
     
    insert = "INSERT INTO uf VALUES ('"& valeur &"');"
    Connex.Execute(insert)
     
    Connex.Close  
    set Connex = nothing
    Fonctionne parfaitement !

    Merci beaucoup

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

Discussions similaires

  1. [2008R2] Insertion dans une première table puis dans la seconde
    Par condor_ dans le forum SSIS
    Réponses: 1
    Dernier message: 29/10/2012, 16h43
  2. Exécuter plusieurs insert en une seul fois
    Par Lorenzox dans le forum Débuter
    Réponses: 3
    Dernier message: 04/11/2010, 14h35
  3. Réponses: 2
    Dernier message: 06/10/2009, 14h53
  4. select et insert dans une seule requete
    Par calvirita dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/04/2009, 15h13
  5. Réponses: 6
    Dernier message: 27/10/2008, 12h16

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