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

Silverlight Discussion :

Executer une procédure stockée sans return


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Par défaut Executer une procédure stockée sans return
    Bonjour,

    Dans ma base de données, j'ai créé une procédure stockée qui ne retourne pas de données. Tout ce qu'elle fait c'est des inserts dans 3 ou 4 tables.


    Tout ce que je trouve sur les forums est de mapper la procédure à une entité, (que je dois créer), qui représente le résultat de la procédure. Mais puisque la mienne n'a pas de retour, comment puis-je la lancer depuis mon appli SL?



    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    Tu dois utiliser le tag [Invoke] avant ta procédure.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      [Invoke()]
            public boolean taProcedure()
    {....}
            {
    Je retourne ici un boolean qui est vrai si j'ai pas eu d'erreurs, faux autrement.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Par défaut
    Bonjour Golzinne, et merci pour ta réponse,

    Je le mets où le Invoke? J'arrive pas à trouver ma procédure dans mon DomainService. Le seul endroit ou je la voie c'est dans l'EDMX (plutôt l'XML de l'EDMX)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    Bon voici un exemple de code que j'utilise pour aller ajouter une prestation coté serveur dans une table SqlServer.

    C'est donc une fonction qui me retourne non pas une entité mais un string qui est soit vide si tout s'est bien passé coté serveur, soit le message d'erreur.

    Coté client je fais:

    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
    21
    22
     
     
    private J_Context _ctx = new J_Context(); // ça c'est mon domaineService
     
    // et puis
     protected void JCreate()
            {
     
                InvokeOperation<string> iopAdd = _ctx.AddPrestation(_prestation);
                iopAdd.Completed += new System.EventHandler(iopAdd_Completed);
            }
     
    void iopAdd_Completed(object sender, System.EventArgs e)
            {
                InvokeOperation<string> iop = sender as InvokeOperation<string>;
                string ret = iop.Value;
     
                if (!(ret == ""))
                { MessageBox.Show(ret); }
                else
                { MessageBox.Show("Prestation créée");  }
            }

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    Et pour répondre à ta question de savoir ou tu mets ton Invoke, c'est dans ton DomainService

    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
    21
    22
    23
    24
    25
    26
    27
      [Invoke()]
            public string AddPrestation(PrestationTbl myPrestation)
            {
                try
                {
                   .......
                    this.ObjectContext.SaveChanges();
                    return "";
     
                }
                catch (Exception e)
                {
                    Exception aaa = e;
     
                    if (e.InnerException.Message.Contains("with unique index 'unique_nom'"))
                    {
                        return "le nom de cette prestation existe déjà";
                    }
                    else
                    {
     
                        return e.InnerException.Message;
     
                    }
     
                }
            }

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Par défaut
    Merci encore une fois, là au moins j'arrive à atteindre ma méthode et ainsi ma Stored Procedure.

    Une dernière question : Tu es sûr qu'en appelant ma méthode, la procédure se lance du coté BdD et non pas du coté du model EDMX?

    Merci!

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/05/2013, 14h29
  2. [CR9 Oracle] Executer une procédure stockée depuis un rapport
    Par zodeno dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 26/03/2008, 14h39
  3. executée une procédure stockée depuis access 97
    Par sandmil dans le forum Access
    Réponses: 1
    Dernier message: 12/07/2007, 11h51
  4. [Oracle] Exécuter une procédure stockée sans en attendre le résultat
    Par glutock dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/02/2007, 13h54
  5. Executer une procédure stockée à distance
    Par vvvvv dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 30/11/2006, 16h12

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