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

Accès aux données Discussion :

[C#] Comment executer une requete sql y compris @@IDENTITY ?


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut [C#] Comment executer une requete sql y compris @@IDENTITY ?
    Bonjour tout le monde,
    je souhaiterai faire une requete qui permet d'inserer une ligne dans une table et en meme temps me recuperer id de la ligne qui vient d'etre inserer.je fais la requete suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    string desResAtt = this.textBox1.Text;
     
    string requeteInsertRes = "INSERT INTO RESULTATATTENDU 
    (DECRIPTION_REP_ATT) VALUES(\'" + desResAtt + "\');SELECT
     @@IDENTITY AS v_id_resAtt ";


    Pour executer la requete, apres avoir ouvert ma connection, je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DbCommand myCmdInsert = new SqlCommand(requeteInsertRes,
     (SqlConnection)cnx);
    maintenant je ne sais pas si je dois faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myCmdInsert.ExecuteNonQuery()
    ou un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myCmdInsert.ExecuteReader()
    Si quelqu'un a deja rencontre ce type de requete, pourrait il me dire quelle méthode utiliser ou me donner un exemple?
    je souhaiterai récupérer l'id retournée lors de mon select pour l'insere dans une autre table.
    je vous remercie d'avance pour vos reponses

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 25
    Par défaut
    > .ExecuteNonQuery(); pour ton INSERT
    > .ExecuteReader(); pour ton SELECT

    Je ferais deux requetes separées personellement.

    Maintenant il ya peut-etre une methode qui permet de recuperer le dernier id inseré , mais je ne la connais pas.

    Tu utilise quel SGBD ?

    Avec SQLite et la dll , j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SQLiteCommand sqlite_cmd;
    SQLiteDataReader sqlite_datareader;
     
    sqlite_cmd.CommandText = "SELECT id FROM test";
    sqlite_datareader = sqlite_cmd.ExecuteReader();
     
    while (sqlite_datareader.Read())
    {
     
        System.Console.WriteLine(sqlite_datareader["id"]);
    }
    (ce code n'est pas de moi , c'etait un exemple de ma lib)

    Tu dois pouvoir adapter a tes requetes.

  3. #3
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    Je me permettrai d'ajouter ceci:

    - Si tu fais 2 requete n'oublie pas de les mettre ds une transaction !!!
    - Pourquoi les gens continue-t-il à ne pas utiliser les requètes parametrées ???

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par bilb0t
    - Pourquoi les gens continue-t-il à ne pas utiliser les requètes parametrées ???
    par simple méconnaissance je pense

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 25
    Par défaut
    Citation Envoyé par neguib
    par simple méconnaissance je pense
    exact !

    *part googliser tout ca*

  6. #6
    Nip
    Nip est déconnecté
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    963
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 963
    Par défaut
    Citation Envoyé par folk
    exact !

    *part googliser tout ca*

    Pas besoin d'aller si loin:http://webman.developpez.com/article...eter/vbnet/#L3

    C'est un excellent article pour comprendre tout ca

Discussions similaires

  1. Comment parser une requete sql sans l'executer
    Par FABFAB125 dans le forum SQL
    Réponses: 2
    Dernier message: 30/11/2007, 17h21
  2. [SQL2K][DTS] Comment executer une requete SQL dans un lot DTS
    Par aloisio11 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/05/2007, 17h38
  3. Réponses: 23
    Dernier message: 19/09/2006, 11h33
  4. Comment executer une requete sql delete dans une jsp ?
    Par DarkWark dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 24/05/2006, 16h59
  5. Réponses: 2
    Dernier message: 03/05/2004, 12h13

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