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 :

trouver la val d'un champ identity apres un insert


Sujet :

ASP

  1. #1
    slc
    slc est déconnecté
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 36
    Points : 37
    Points
    37
    Par défaut [Résolu] trouver la val d'un champ identity apres un insert
    Bonjour
    je souhaite recuperer le champs ID incrémenté automatiquement apres l'update.

    Sous Access, le code suivant fonctionnait mais SQL Server me renvoie une valeur vide quand je la recupere.
    j'aimerai eviter de refaire un select pour récuperer la valeur, j'ai beaucoup de page qui utilise cette methode.

    set rsAvance = CreateObject("ADODB.Recordset")
    l_sRequete = "Table"
    rsAvance.Open l_sRequete,conn,1,3,512

    rsAvance.AddNew

    rsAvance("Etat") = Etat
    rsAvance("Type") = Type

    rsAvance.Update

    Log("id = " & rsAvance("Id"))

    Merci

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    moi aussi , je serais interessé.

    à part rechercher l'id dans ta base, pour l'instant, je ne vois pas.

  3. #3
    slc
    slc est déconnecté
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 36
    Points : 37
    Points
    37
    Par défaut
    J'ai trouvé
    Déja mettre en commentaire les 'On Error Resume Next' ca aide beaucoup.
    C'est peut etre evident mais je debute en ASP et en plus c'est pas moi qui ai codé

    Il faut rajouter
    rsAvance.CursorLocation = 3 '(= adUseClient )
    avant le Open et ca fonctionne pour moi.

    plus d'infos : http://knowledgebase2.datadirect.com...P?OpenDocument

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    excuse moi, mais j'ai du mal à comprendre comment fonctionne la variable...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Je pense que ça pourra aider.

    Valeur de CursorLocation

    1 OBSOLETE (appears only for backward compatibility). Does not use cursor services
    2 Default. Uses a server-side cursor
    3 Uses a client-side cursor supplied by a local cursor library. For backward compatibility, the synonym adUseClientBatch is also supported

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    je suis sous access et je n'arrive pas à récupérer mon id , créer automatiquement lors de l'update...


  7. #7
    slc
    slc est déconnecté
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 36
    Points : 37
    Points
    37
    Par défaut
    Salut,
    le code du debut fonctionne sous access chez moi. Tu as quoi comme erreur ?

    Tu peut eventuellement rajouter rsAvance.CursorLocation = 2 mais normalement c'est la valeur par defaut.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SQL="SELECT * FROM TOTO"
    RS.Open SQL,Conn , 3, 3
    rs.CursorLocation = 2
    rs.CursorType = 1
    rs.LockType = 3
    RS.addnew
    RS("SOURCE")="I"
    RS.update 'Envoi !
    COMPTEUR_REF=RS("ref") 'ref etant un numauto dans ma BD
    RS.Close
    response.write COMPTEUR_REF
    et j'ai rien dedans....

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    j'ai essayer comme ça, c'est pareil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SQL="SELECT * FROM TOTO" 
    rs.CursorLocation = 2 
    RS.Open SQL,Conn , 3, 3 
    RS.addnew 
    RS("SOURCE")="I" 
    RS.update 'Envoi ! 
    COMPTEUR_REF=RS("ref") 'ref etant un numauto dans ma BD 
    RS.Close 
    response.write COMPTEUR_REF

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 45
    Points : 35
    Points
    35
    Par défaut
    ça fonctionne !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SQL="SELECT * FROM TOTO" 
    rs.CursorLocation = 2
    rs.CursorType = 1
    rs.LockType = 3
    RS.Open SQL,Conn,,2
    RS.addnew 
    RS("SOURCE")="I" 
    RS.update 'Envoi ! 
    COMPTEUR_REF=RS("ref") 'ref etant un numauto dans ma BD 
    RS.Close 
    response.write COMPTEUR_REF

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

Discussions similaires

  1. @@IDENTITY apres un INSERT ne fonctionne pas
    Par gderenne dans le forum ASP
    Réponses: 12
    Dernier message: 25/01/2008, 09h49
  2. Réponses: 5
    Dernier message: 11/01/2007, 15h10
  3. comment trouver la reference d'un champ
    Par nono08 dans le forum Langage
    Réponses: 4
    Dernier message: 08/02/2006, 18h13
  4. Rendre champ obligatoire après un test IF
    Par snoopy69 dans le forum Access
    Réponses: 3
    Dernier message: 22/01/2006, 19h28
  5. CR9:Espace sur champ numérique après concaténation
    Par nanouille56 dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 07/07/2005, 09h35

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