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 :

sql server CE + récup du dernier ID


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut sql server CE + récup du dernier ID
    Bonjour à tous,

    J'ai une base de donnée dans laquelle j'arrive à lire et à écrire.
    Je voudrais rechercher mon dernier ID pour plus de facilité pour la suite de mon projet.

    J'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                string mySelectQuery_insert = "INSERT INTO data ([Temp_Int], [Temp_Out], [Lum_Int], [Lum_Out],[Battery],[Signal]) VALUES ('7','6','4','3','2','19'), select scope_identity()";
                SqlCeCommand myCommand_insert = new SqlCeCommand(mySelectQuery_insert, cn);
                id = Convert.ToInt32(myCommand_insert.ExecuteScalar());
                textBox5.Text = id.ToString();
    je n'arrive pas à aller retrouver mon ID dans la textbox!

    Pour la suite des évènement, j'aimerais insérer mon dernier ID (soit la variable id) dans un select...into ....where ID = (variable id)

    Comment récupérer mon dernier ID correctement?
    Comment mettre la valeur de l'id récupérée dans ma fonction select?

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 99
    Par défaut
    Il faut un point virgule à la place de la virgule non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string mySelectQuery_insert = "INSERT INTO data ([Temp_Int], [Temp_Out], [Lum_Int], [Lum_Out],[Battery],[Signal]) 
    VALUES ('7','6','4','3','2','19') ;
    select scope_identity()";

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut
    salut,

    j'ai testé et ça râle à ce niveau ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id = Convert.ToInt32(myCommand_insert.ExecuteScalar());
    voici le problème.
    There was an error parsing the query. [ Token line number = 1,Token line offset = 119,Token in error = select ]
    je ne comprend pas...peut-on m'aider?

    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut
    salut,

    pour la récup du dernier ID et l'affichage dans la TEXTBOX, j'essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
               string mySelect_maxID = "SELECT MAX(ID) FROM data";
                SqlCeCommand command = new SqlCeCommand(mySelect_maxID, cn);
                myReader = command.ExecuteReader();
                myReader.Read();
     
                textBox1.Text = myReader["ID"].ToString();
    Or je ne vois pas où est le problème.
    Je vous met une copie d'écran...ça vous parlera certainement plus...pourtant cette requête est bonne, non?
    ca râle sur cettte ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textBox1.Text = myReader["ID"].ToString();
    Images attachées Images attachées  

  5. #5
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Le problème c'est
    Car ta requête ne renvoie pas de colonne ID, ta colonne n'a pas de nom en l'état.

    Donc soit tu fais
    Soit tu modifies la requête pour donner un nom à la colonne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string mySelect_maxID = "SELECT MAX(ID) AS MaColonne FROM data";
    Et là tu pourras accéder à la colonne par son nom.
    Sinon pour récupérer l'identifiant du dernier enregistrement ajouté on utilise plutôt une requête du style
    Mais je ne sais pas si ça fonctionne avec SQL Server CE.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut
    ok, merci pour ton explication, c'est bien claire.
    le @@ identity ne fonctionne pas...ne sais pas pq...

    Mais ça marche bien pour le reste ;-)

    merciiiii

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/06/2008, 13h07
  2. [SQL Server 2000] Récupérer dernier caractère
    Par Invité dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/07/2007, 14h35
  3. dernier id entré (MS SQL Server 2000)
    Par techtonyc dans le forum SGBD
    Réponses: 1
    Dernier message: 09/05/2007, 11h18
  4. [SQL Server] Pb Date et Montant derniere commande
    Par marman dans le forum Langage SQL
    Réponses: 7
    Dernier message: 12/10/2006, 19h21
  5. [SQL Server 2005]Le mois dernier
    Par boux2 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/07/2006, 16h24

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