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 :

Récupérer une valeur de procédure stockée sur VisualStudio


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut Récupérer une valeur de procédure stockée sur VisualStudio
    Bonjour,

    J'ai créé ma procédure stockée sur sql server et maintenant je voudrait récupérer les valeurs depuis mon code C#.

    Alors voila comment je sais faire mais je voudrait faire autrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var blabla1 = db.procedure(parametre);
         foreach (procedureResult bla in blabla1)
         {
             xml += "<dateStart>" + me.yearMini + "-" + me.moisMini + "-" + me.dayMini + "</dateStart>";
             xml += "<dateEnd>" + me.yearMax + "-" + me.monthMax + "-" + me.dayMax + "</dateEnd>";
             xml += "<Duration>" + me.duration + "</Duration>";
         }
    Voila donc j'arrive à la récupérer avec une boucle foreach mais ce que je voudrais c'est récupérer la valeur directement, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    blabla1.yearMini = ......
    ou
    blabla1.yearMini[1]
    Je vous remercie d'avance

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Il y a beaucoup plus simple en effet : tu peux utiliser les Parameters comme indiqué dans ce tuto : http://johannblais.developpez.com/tu...donnees/#LIV-B

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    Merci pour la réponse mais il n'y à pas vraiment ce que je recherche dans ce tuto.

    En fait moi je crée la procédure stockée sur sql Server, puis je l'appelle sur Visual en C#. Il me semble que dans le tuto ils la créent via C#.

    Voila ce que j'ai réussi à faire mais j'ai l'impression que c'esty un peu du bricolage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DateTime metFirstDate = metDateSP.AsEnumerable().First().dateMin.Value;
    Donc avec du AsEnumerable, du First

  4. #4
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par rudylar Voir le message
    Merci pour la réponse mais il n'y à pas vraiment ce que je recherche dans ce tuto.
    J'avais mal compris ta question en effet, désolé
    Mais une deuxième lecture ne m'éclaire pas bcp plus... Dans ton code, c'est quoi db ? C'est quoi la fonction "procedure" ? C'est quoi, me ? C'est quoi le type "procedureResult " ?

    A part ça :
    - évite les string s ; for (...) { s = s+ ...}, c'est très coûteux, utilise plutôt un StringBuilder.
    - plutôt que générer du xml à la main, tu peux utiliser un XmlSerializer, qui prend un objet sérialisable et sort une chaîne xml qui va bien.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2008
    Messages : 103
    Points : 36
    Points
    36
    Par défaut
    En effet je suis dsl mais j'ai oublié de changer des variables et donc j'ai mis un code incomprehensible.
    De plus j'utilise du Linq to SQL.
    Voici un propre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DataContext db = new DataContext();
    var blabla1 = db.procedure(parametre);
     
    foreach (procedureResult bla in blabla1)
         {
             xml += "<dateStart>" + bla.yearMini + "-" + bla.moisMini + "-" + bla.dayMini + "</dateStart>";
             xml += "<dateEnd>" + bla.yearMax + "-" + bla.monthMax + "-" + bla.dayMax + "</dateEnd>";
             xml += "<Duration>" + bla.duration + "</Duration>";
         }
    procédure : c'est le nom de la procédure stockée sur sql server.
    procedureResult : c'est un type spécial qui correspond au resultat de la procédure stockée.

    parametre : c'est le paramètre que j'insère dans ma procédure stockée.

Discussions similaires

  1. tester si une valeur existe Procédure Stockée
    Par totot dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/11/2013, 11h44
  2. Tester si une valeur existe procédure stockée
    Par totot dans le forum Développement
    Réponses: 0
    Dernier message: 15/11/2013, 23h40
  3. Réponses: 2
    Dernier message: 12/09/2008, 09h24
  4. Réponses: 1
    Dernier message: 23/08/2008, 01h32
  5. Récupérer une valeur de procédure stockée en C#
    Par rudylar dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 15/07/2008, 11h50

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