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.NET Discussion :

Comment stocker SqlCommand dans variable?


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Par défaut Comment stocker SqlCommand dans variable?
    Bonjour,
    Je chereche la syntaxe de DbDataReader en vb.net. j'ai deux reuêtes Sql alors j'aimerai inséré le resultat de la 1ere requête dans une table à partir de la deuxieme requête. Donc il faut stocker la valeur de la 1ere SqlCommand dans une variable pour pouvoir l'utiliser après. Pourriez vous me dire comment je peux le faire? merci d'avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    ben en fait tu peux le faire avec une seule commande, avec une commande SQL du type :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO uneTable(champ1, champ2, ...)
    SELECT champ1, champ2, ... FROM uneAutreTable

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Par défaut
    Merci pour l'aide, mais sûrement je me suis mal expliqué, bon moi j'ai un DropDownList qui affiche le nom, moi je veux seléctionner le code_nom qui appartient à la même table que ce nom, alors j'ai besoin d'une requête Sql pour le faire. Après, ce code_nom je vais l'insérer dans une autre table à l'aide de la deuxième requête. Pour encore mieux expliquer je vais vous montrer le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      maRequete1 = " select code_resp from resp_atelier where nom= @nom"
      myCommand1 = New SqlCommand(maRequete1, maConnexionSQLsrv)
      With myCommand1
             .Parameters("@nom").Value = Me.DropDownList5.Text
       End With 
    ........
    Et pour la deuxième requête j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     maRequete = " insert into [action] ([design_action], [code_resp],) Values (@design_act, @code_resp,)"
     myCommand = New SqlCommand(maRequete, maConnexionSQLsrv)
     With myCommand
                .Parameters("@design_act").Value = Me.TextBox1.Text
                .Parameters("@code_resp").Value = Me.myCommand1
      End With
    moi Dans les paramètres de la commande, j'ai attribué au code_nom Me.myCommand1 alors que ça devait pas être le cas, il faut d'abord stocker le resultat de la commande dans une variable, comme on le fait dans C# avec DbDataReader, maintenant j'aimerai bien savoir cette syntaxe dans vb.net, est ce que vous pouvez m'aider? Merci d'avance.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Tu es sûr que tu n'as pas déjà le code_nom dans ton dropdownlist ? Normalement si le dropdownlist est rempli à partir d'une source de données et que tu as renseigné la propriété DataValueField, tu devrais pouvoir récupérer l'identifiant comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    code_nom = Me.DropDownList5.SelectedValue
    Sinon, pour le faire avec 2 requêtes comme tu voulais faire, il faut utiliser le résultat de la première requête, et non l'objet SqlCOmmand :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    maRequete1 = " select code_resp from resp_atelier where nom= @nom"
      myCommand1 = New SqlCommand(maRequete1, maConnexionSQLsrv)
      With myCommand1
             .Parameters("@nom").Value = Me.DropDownList5.Text
       End With 
       code_resp = myCommand1.ExecuteScalar()
    ........
     
     maRequete = " insert into [action] ([design_action], [code_resp],) Values (@design_act, @code_resp,)"
     myCommand = New SqlCommand(maRequete, maConnexionSQLsrv)
     With myCommand
                .Parameters("@design_act").Value = Me.TextBox1.Text
                .Parameters("@code_resp").Value = code_resp
      End With

  5. #5
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Par défaut
    Merci pour l'aide, mais cela m'affiche un message d'erreur "le nom 'code_resp' n'est pas déclaré", je pense qu'il me faut un moyen pour stocker le resultat de Sql Command pour pouvoir l'utiliser après, Vous n'avez aucune idée?

  6. #6
    Membre averti
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Par défaut
    Faudrait peut être le déclarer...

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par sarita_ima Voir le message
    Merci pour l'aide, mais cela m'affiche un message d'erreur "le nom 'code_resp' n'est pas déclaré", je pense qu'il me faut un moyen pour stocker le resultat de Sql Command pour pouvoir l'utiliser après, Vous n'avez aucune idée?
    ben tu sais quand-même déclarer une variable, non ? si ce n'est pas le cas, tu ferais bien de commencer par un tutoriel sur VB.NET...
    http://plasserre.developpez.com/vsommair.htm

  8. #8
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Par défaut
    Merci beaucoup tomlev et Max13, c'est trés gentil de votre part. et je suis vraiment désolé tomlev de vous avoir trop embêté avec mes questions, je suis encore débutant dans la programmation en vb.net. Merci encore une autre fois.

  9. #9
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Par défaut
    S'il vous plaît, j'ai encore une autre question, l'enregistrement se fait mais la case de la désignation action dans la base de données est vide, moi j'ai fait:
    <code> .Parameters("@design_act").Value = Me.TextBox1.Text </code>
    Est ce que vous pourriez m'aidez? Merci d'avance

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    c'est quoi le type du paramètre design_act ?

  11. #11
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Par défaut
    bonsoir
    Le type de design_action est char (100)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/09/2013, 11h06
  2. Comment stocker requete dans une variable ?
    Par innova dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/11/2006, 08h00
  3. Réponses: 11
    Dernier message: 18/07/2006, 13h53
  4. Réponses: 19
    Dernier message: 09/12/2005, 07h04
  5. Comment stocker PROPREMENT "\\" dans mysql avec p
    Par jcachico dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 03/12/2005, 14h32

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