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

Linq Discussion :

Appel d'une procédure stockée avec paramètre en output


Sujet :

Linq

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Par défaut Appel d'une procédure stockée avec paramètre en output
    J'ai besoin d'aide pour l'appel d'une «store procedure» qui utilse des parametre en sortie (output).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int AxTotTransaction;
    AxTotTransaction = 0;
    db.SP_TrouverNbParTablesUtilises(txtNoPatient1.Text, txtNoPatient1.Text.AsInt32(), out AxTotTransaction);
    J'obtiens toujours l'erreur suivante :

    Argument 3*: impossible de convertir de 'out int' en 'out int?'
    et sur l'instruction au complet j'ai ce message :
    La méthode surchargée correspondant le mieux à 'MM.BusinessObjects.MMDataContext.SP_TrouverNbParTablesUtilises(string, int?, out int?)' possède des arguments non valides
    Le contenu du .dbml est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      <Function Name="dbo.SP_TrouverNbParTablesUtilises" Method="SP_TrouverNbParTablesUtilises"   IsComposable="false">
        <Parameter Name="idPatient"             Direction="In" DbType="varchar(30)" Type="System.String"/>
        <Parameter Name="Patient_ID"            Direction="In" DbType="Int" Type="System.Int32"/>
        <Parameter Name="AxNbTotTransaction"    Direction="Out" DbType="Int" Type="System.Int32"/>
      </Function>
    Le code de la Sp en SQL 2005
    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
     
    USE [MMTest]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [dbo].[SP_TrouverNbParTablesUtilises]
    (
    @idPatient			varchar(30),
    @Patient_ID			int,
    @AxNbTotTransaction		int output)
    as
    BEGIN TRANSACTION
     
    SELECT @AxNbTotTransaction=count(*)
      FROM [DAXdb].[dbo].[CUSTTRANS]
    where [ACCOUNTNUM] = @idPatient

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    En fait, tu dois soit passer un type "nullable" comme troisième argument :
    , soit définir dans ton dbml que le paramètre ne peut pas être NULL.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Par défaut
    Merci !

    Ça bel et bien éliminé les messages que j'avais mais voilà que ça plante à l'exécution où j'obtiens le message suivant :

    «Impossible de traduire l'expression 'value(MM.BusinessObjects.MMDataContext).SP_TrouverNbParTablesUtilises("390620", 390620, null)' en SQL et impossible de la considérer comme une expression locale.»

  4. #4
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    L'erreur est en rapport avec la procédure stockée.. Quels sont ses paramètres ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Par défaut
    Voici les paramètres tel que défini dans le DBML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      <Function Name="dbo.SP_TrouverNbParTablesUtilises" Method="SP_TrouverNbParTablesUtilises"   IsComposable="false">
        <Parameter Name="idPatient"             Direction="In" DbType="varchar(30)" Type="System.String"/>
        <Parameter Name="Patient_ID"            Direction="In" DbType="Int" Type="System.Int32"/>
        <Parameter Name="AxNbTotTransaction"    Direction="Out"  DbType="Int" Type="System.Int32"  />
    Voci l'appel de la SP

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                    System.Nullable<int> AxTotTransaction; 
                    AxTotTransaction = 0;
                    try
                    {
     
                        db.SP_TrouverNbParTablesUtilises(txtNoPatient1.Text, txtNoPatient1.Text.AsInt32(), out AxTotTransaction);

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2013
    Messages : 4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ALTER procedure [dbo].[SP_TrouverNbParTablesUtilises]
    (
    @idPatient				varchar(30),
    @Patient_ID				int,
    @AxNbTotTransaction		int output

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/05/2013, 14h29
  2. Réponses: 2
    Dernier message: 21/02/2013, 16h41
  3. [Débutant] Appel d'une procédure stockée avec paramètres
    Par Bakkach dans le forum VB.NET
    Réponses: 6
    Dernier message: 09/10/2012, 16h41
  4. Appel d'une procédure stockée avec c#
    Par ing_ensi84 dans le forum C#
    Réponses: 3
    Dernier message: 05/01/2012, 10h28
  5. Appel d'une procédure stockée avec un curseur
    Par lapanne dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/12/2006, 16h24

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