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

C++Builder Discussion :

Récupérer ID après insertion


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Par défaut Récupérer ID après insertion
    Bonjour,

    J'utilise SQL serveur 2008 pour ma base de donnée et j'utilise ADO
    Lorsque j'insère un enregistrement jusqu'à lors pour récupérer l'enregistrement effectué je faisais une requête du style :
    "SELECT MAX(no) as no FROM client"

    Sauf que bien entendu plusieurs personne peuvent insérer des données en même temps sur la table client et donc je peux récupérer un ID invalide.

    Existe t-il une fonction qui me permette de récupérer l'id du dernier enregistrement effectué ?
    J'ai cherché dans la doc mais je n'ai pas trouvé mon bonheur.

    je procède comme suit pour insérer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    AnsiString strQry = "INSERT INTO .......";
     
    	TADOQuery* qry = new TADOQuery(db);
    	if (qry != NULL)
    	{
    		// - Traitement
    		qry->Connection = db;
    		qry->SQL->Add(strQry);
    		qry->ExecSQL();
    	}
    		// - libération qry
    		delete qry;
    		qry = NULL;
    merci d'avance à celui/celle qui aura une solution.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT LAST_INSERT_ID() FROM table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT @@identity et ExecuteScalar
    http://www.developpez.net/forums/d23...res-insertion/



    Non ?

    Ou envoyer un select à partir de ton insert , ce qui me parait le plus sur

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Par défaut
    Merci, je vais utiliser @@IDENTITY.

    Par contre je ne vois pas en quoi faire un SELECT depuis un INSERT peut m'aider dans mon cas?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 573
    Par défaut
    Dans ton insert , tu as des valeurs , fais un select avec celles-ci

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 3
    Par défaut
    Ahh oui biensur je vois ce que tu veux dire.

    C'est ce que j'avais prévu de faire au tout début mais je trouvais ça un peu lourd comme je n'ai pas de champ unique dans ma table, et que j'ai pas mal de champ (une 15aine).

    Mais maintenant que j'y repense c'est vrai que c'est la solution la plus sur.

    Merci du conseil et le @@Identity marche bien

    Bonne fin de journée

Discussions similaires

  1. Récupérer ID après insertion Oracle
    Par lionrouge dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 03/04/2014, 11h21
  2. Embbeded SQL : Récupérer ID apres insert
    Par badmath dans le forum Sybase
    Réponses: 3
    Dernier message: 11/06/2007, 13h00
  3. Récupérer PK apres insertion
    Par Mandotnet dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 10/04/2006, 18h36
  4. [VB.NET] [ADO.NET] Récupérer id après insertion
    Par nashouille dans le forum Accès aux données
    Réponses: 9
    Dernier message: 09/01/2005, 15h54
  5. récupérer valeur d'un ID après insertion
    Par rikidi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/08/2003, 22h21

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