[VS2012 - ASP.NET - framework 4.5]
Bonsoir,
je reviens vers vous car je n'arrive pas à récupérer la valeur de retour de ma procédure stockée (Int32)

J'utilise un typage "var" mais du coup je trouve mon code pas top et en plus ça ne fonctionne pas. par contre les données sont bien insérées dans la bdd

voici mon code d'appel de la méthode statique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
    protected void validInscription_Click(object sender, EventArgs e)
    {
        if (IsValid)
        {
            ObjectParameter message;
            var retour = Client.InscrireClient(tbNom.Text, tbPrenom.Text, Int16.Parse(tbNumRue.Text), tbRue.Text, tbCp.Text, tbVille.Text, tbPays.Text, tbMail.Text, tbMdp.Text, out message);
        }
    }
Voici maintenant le code de la méthode statique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
    public static ObjectResult InscrireClient(string nom, string prenom, Int16 nRue, string rue, string cp, string ville, string pays, string mail, string mdp, out ObjectParameter message)
    {
        message = new ObjectParameter("message", typeof(String));
        ALM_SEBOEntities db = new ALM_SEBOEntities();
        db.Database.Connection.ConnectionString = Connexion.getInstance().ConString;
        db.Database.Connection.Open();
        var codeRet = db.CreerClient(nom, prenom, nRue, rue, cp, ville, pays, mail, mdp, message);
        db.Database.Connection.Close();
        return codeRet;
    }
l'erreur est la suivante :
Le lecteur de données retourné par le fournisseur de données de magasins n'a pas suffisamment de colonnes pour la requête demandée.
Description : Une exception non gérée s'est produite au moment de l'exécution de la requête Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.Data.EntityCommandExecutionException: Le lecteur de données retourné par le fournisseur de données de magasins n'a pas suffisamment de colonnes pour la requête demandée.

Erreur source:


Ligne 94 : new ObjectParameter("motPasse", typeof(string));
Ligne 95 :
Ligne 96 : return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Nullable<int>>("CreerClient", nomParameter, prenomParameter, numRueParameter, rueParameter, cpParameter, villeParameter, paysParameter, emailParameter, motPasseParameter, message);
Ligne 97 : }
Ligne 98 :


Fichier source : c:\Users\David\Documents\ProjetSEBO\SEBO\App_Code\Model.Context.cs Ligne : 96

Trace de la pile:


[EntityCommandExecutionException: Le lecteur de données retourné par le fournisseur de données de magasins n'a pas suffisamment de colonnes pour la requête demandée.]
System.Data.EntityClient.ConstantColumnMapGenerator.System.Data.EntityClient.EntityCommandDefinition.IColumnMapGenerator.CreateColumnMap(DbDataReader reader) +8127373
System.Data.Objects.ObjectContext.MaterializedDataRecord(EntityCommand entityCommand, DbDataReader storeReader, Int32 resultSetIndex, ReadOnlyMetadataCollection`1 entitySets, EdmType[] edmTypes, MergeOption mergeOption) +656
System.Data.Objects.ObjectContext.CreateFunctionObjectResult(EntityCommand entityCommand, ReadOnlyMetadataCollection`1 entitySets, EdmType[] edmTypes, MergeOption mergeOption) +163
System.Data.Objects.ObjectContext.ExecuteFunction(String functionName, MergeOption mergeOption, ObjectParameter[] parameters) +240
System.Data.Objects.ObjectContext.ExecuteFunction(String functionName, ObjectParameter[] parameters) +11
ALM_SEBOEntities.CreerClient(String nom, String prenom, Nullable`1 numRue, String rue, String cp, String ville, String pays, String email, String motPasse, ObjectParameter message) in c:\Users\David\Documents\ProjetSEBO\SEBO\App_Code\Model.Context.cs:96
Client.InscrireClient(String nom, String prenom, Int16 nRue, String rue, String cp, String ville, String pays, String mail, String mdp, ObjectParameter& message) in c:\Users\David\Documents\ProjetSEBO\SEBO\App_Code\Client.cs:39
Identification.validInscription_Click(Object sender, EventArgs e) in c:\Users\David\Documents\ProjetSEBO\SEBO\Identification.aspx.cs:23
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9553594
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724
Quel est le bon code pour récupérer cette valeur?

merci d'avance pour votre aide