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 :

problème pour envoyer des paramètres dans une procédure stockée


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 25
    Points : 20
    Points
    20
    Par défaut problème pour envoyer des paramètres dans une procédure stockée
    Bonjour à tous,

    je me suis documentée avant de poster, et malgré mon niveau, je crois que mon code est bon ; vraiment je ne vois pas l'erreur que j'ai faite ! peut être que quelqu'un d'externe y verra mieux ?

    Mon problème est tout simple, j'ai une proc_stockée usp_insertDetails (qui fonctionne bien quand je l'execute à part, avec des valeurs pour ses paramètres entrées manuellement). Elle prend 5 paramètres, les 4 premiers fonctionnent bien mais au dernier j'ai une erreur : "@MyForfaitDiamId" is not supplied. Cette erreur apparait quand le systeme essaie d'executer la requete. (avant dernière ligne)

    Voilà mon code c#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    SqlCommand maCommande2 = new SqlCommand();
    maCommande2.Connection = maConnexion;
     
    maCommande2.CommandText = "usp_insertDetails";
    maCommande2.CommandType = CommandType.StoredProcedure;
                                    maCommande2.Parameters.AddWithValue("@MyProductId", Convert.ToInt32(produitId.Value.ToString()));
                                    maCommande2.Parameters.AddWithValue("@MyCouleurId", Convert.ToInt32(couleur.Value));
                                    maCommande2.Parameters.AddWithValue("@MyDiametreId", Convert.ToInt32(diametre.Value));
                                    maCommande2.Parameters.AddWithValue("@MyLongueurId", Convert.ToInt32(longueur.Value));
     
    if ((Convert.ToInt32(diametre.Value) == 2) || (Convert.ToInt32(diametre.Value) == 3))
                                        maCommande.Parameters.AddWithValue("@MyForfaitDiamId", 2);
    else if ((Convert.ToInt32(diametre.Value) == 4) || (Convert.ToInt32(diametre.Value) == 5) || (Convert.ToInt32(diametre.Value) == 6))
                                        maCommande.Parameters.AddWithValue("@MyForfaitDiamId", 3);
                                    else maCommande.Parameters.AddWithValue("@MyForfaitDiamId", 1);
     
    maConnexion.Open();
    maCommande2.ExecuteNonQuery();
    maConnexion.Close();
    comme vous le voyez, le systeme est censé déduire (avec les if) le 5ème paramètre tandis que les autres sont directement puisé dans un controle.

    Je précise qu'avant que je ne rajoute la partie des if pour le 5ème paramètre, (ma proc_stocké n'en avait que 4), ça fonctionnait parfaitement.

    Si je ne suis pas claire, dites le moi.

    Merci de votre aide

    ps : je travaille avec visual studio 2008

  2. #2
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    bonjour,

    si c'est un copier-coller direct de ton code, tu voudras peut-être renommer maCommande en maCommande2

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre à l'essai
    Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    mais oui bien sur !!

    merci beaucoup, voilà, maintenant ça fonctionne trsè bien !

    une si bête erreur...enfin mieux vaut ça qu'avoir à tout refaire ..

Discussions similaires

  1. [2005] Problème pour passer un paramètre dans une requête MDX
    Par mochi dans le forum SSRS
    Réponses: 6
    Dernier message: 06/06/2012, 16h26
  2. Problème pour lister des fichiers dans une interface
    Par sapristy dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 23/02/2010, 14h00
  3. [1.x] problème pour reprendre des données dans une DB
    Par phoelis1 dans le forum Symfony
    Réponses: 4
    Dernier message: 02/04/2008, 11h54
  4. [VBA-E] Problème pour insérer des lignes dans une feuille Excel
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2007, 14h13
  5. Réponses: 1
    Dernier message: 06/03/2007, 11h57

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