Précédent   Forum du club des développeurs et IT Pro > Dotnet > Accès aux données > Linq
Linq Forum d'entraide sur la manipulation de données avec Linq
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/02/2013, 20h58   #1
Malainet
Invité de passage
 
Homme Alain
Consultant informatique
Inscription : février 2013
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Alain
Localisation : Canada

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

Informations forums :
Inscription : février 2013
Messages : 4
Points : 0
Points : 0
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 :
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 :
Citation:
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 :
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 :
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
Malainet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2013, 11h07   #2
Pongten
Modérateur
 
Avatar de Pongten
 
Homme Rémy Mainil
IT Analyst & Software Developer
Inscription : juin 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Nom : Homme Rémy Mainil
Âge : 32
Localisation : Belgique

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

Informations forums :
Inscription : juin 2002
Messages : 1 022
Points : 1 896
Points : 1 896
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.
__________________
Si ton problème a une solution, rien ne sert de t'inquiéter..
Si il n'en a pas, t'inquiéter ne sert à rien

Ma Page
Pongten est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2013, 16h24   #3
Malainet
Invité de passage
 
Homme Alain
Consultant informatique
Inscription : février 2013
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Alain
Localisation : Canada

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

Informations forums :
Inscription : février 2013
Messages : 4
Points : 0
Points : 0
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.»
Malainet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2013, 10h30   #4
Pongten
Modérateur
 
Avatar de Pongten
 
Homme Rémy Mainil
IT Analyst & Software Developer
Inscription : juin 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Nom : Homme Rémy Mainil
Âge : 32
Localisation : Belgique

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

Informations forums :
Inscription : juin 2002
Messages : 1 022
Points : 1 896
Points : 1 896
L'erreur est en rapport avec la procédure stockée.. Quels sont ses paramètres ?
__________________
Si ton problème a une solution, rien ne sert de t'inquiéter..
Si il n'en a pas, t'inquiéter ne sert à rien

Ma Page
Pongten est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2013, 15h02   #5
Malainet
Invité de passage
 
Homme Alain
Consultant informatique
Inscription : février 2013
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Alain
Localisation : Canada

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

Informations forums :
Inscription : février 2013
Messages : 4
Points : 0
Points : 0
Voici les paramètres tel que défini dans le DBML :

Code :
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 :
1
2
3
4
5
6
                System.Nullable<int> AxTotTransaction; 
                AxTotTransaction = 0;
                try
                {
 
                    db.SP_TrouverNbParTablesUtilises(txtNoPatient1.Text, txtNoPatient1.Text.AsInt32(), out AxTotTransaction);
Malainet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2013, 16h26   #6
Malainet
Invité de passage
 
Homme Alain
Consultant informatique
Inscription : février 2013
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Alain
Localisation : Canada

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

Informations forums :
Inscription : février 2013
Messages : 4
Points : 0
Points : 0
Code :
1
2
3
4
5
ALTER procedure [dbo].[SP_TrouverNbParTablesUtilises]
(
@idPatient				varchar(30),
@Patient_ID				int,
@AxNbTotTransaction		int output
Malainet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h19.


 
 
 
 
Partenaires

Hébergement Web