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# Discussion :

dernier auto-increment vers une variable


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Par défaut dernier auto-increment vers une variable
    Salut
    comment faire pour remplir une variable avec le resultat d'une requete ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string SqlString1 = "Select @@Identity as LastId";
    SqlCommand Comm1 = new SqlCommand(SqlString1, Conn);
    Comm1.ExecuteNonQuery();
    int Id;
    je veux remplir la la variable Id avec le resultat de la requete

    merci

  2. #2
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    tu dois utiliser ExecuteScalar et non ExecuteNonQuery

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    objresultat = comm1.ExecuteScalar();

  3. #3
    Membre éclairé Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Par défaut
    Merci
    objresultat est de quel type?
    et comment transmetre la valeur selectioné vers une variable ?

  4. #4
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    objResultat est du type Object, le type que renvoi la fonction ExecuteScalar.
    Ensuite il te suffit de caster ton objet dans le type que tu desires (dans ton cas, un entier (int))

  5. #5
    Membre éclairé Avatar de H-bil
    Inscrit en
    Février 2006
    Messages
    337
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 337
    Par défaut
    Désolé
    mais le cast et invalid
    Le cast spécifié n'est pas valide.
    et voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int Id;
    string SqlString1 = "Select @@Identity as LastId";
    SqlCommand Comm1 = new SqlCommand(SqlString1, Conn);
    Id = (int)Comm1.ExecuteScalar();
    Label3.Text = Id.ToString();
    j'ai ratté quelque chose ?
    merci encor une fois

  6. #6
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    j'oubliais, il faut tester le cas de la valeur nulle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int i;
    if (!objResult Is DBNull.Value)
    {
      i = (int) objResult
    }
    Désolé, si je me suis trompé dans la syntaxe, je suis plus vb que C#

  7. #7
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Oui, ta requete te renvoi une valeur nulle ce qui est normal car @@identity te renvoi le dernier identifiant traiter dans la session en cours.

    Pour retrouver le dernier identifiant d'une table tu peux utiliser la requete suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT IDENT_CURRENT('MATABLE')


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

Discussions similaires

  1. [SQL Server] auto increment dans une vue
    Par pimousse_cerise dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/05/2006, 10h18
  2. 2 auto increment dans une meme table
    Par gesualda dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 12/10/2005, 09h31
  3. [débutant]Problemem d'incrementation d'une variable
    Par sakuragikan dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/08/2005, 08h16
  4. Lien vers une variable ?
    Par drinkmilk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 22/02/2005, 09h55
  5. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05

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