Silverlight et les procédures stockées
Bonjour à tous,
J'ai une procédure stockée 'GET_employe' qui fonctionne très bien. Dans cet procédure, il y a juste une requête qui me récupère la liste de mes employés en lui faisant passer un id en paramètre.
Petit exemple simplifié:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
ALTER PROCEDURE GET_employe
@matricule as varchar(8)
AS
SELECT nom, prenom, adresse
FROM T_employe
WHERE Emp_actif = 1 AND Emp_matricule = @matricule
RETURN |
J'intègre cela dans SL depuis l’explorateur de serveurs, je fais glisser ma procédure sur le Designer Linq To SQL.
Et je l'appel via
Code:
1 2 3 4 5 6 7 8 9
|
DataClasses1DataContext data = new DataClasses1DataContext();
var toto = data.GET_employe("02840013");
foreach (var pointeur in toto)
{
...
} |
Et la tous fonctionne, alors vous allez me demander pourquoi je viens vous enmbeter ^^
En fait, j'essaye de modifier ma procédure pour faire une recherche sur Emp_matricule, seulement si la variable @matricule n'est pas vide. Je n'est trouvé que cet solution:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| ALTER PROCEDURE GET_employe
@matricule as varchar(8)
AS
DECLARE @req as varchar(8000)
SET @req ='SELECT nom, prenom, adresse
FROM T_employe
WHERE Emp_actif = 1 '
IF(@matricule != '')
BEGIN
SET @req = @req + 'AND Emp_matricule = '''+@matricule+''''
END
EXEC(@req)
RETURN |
Et la plus rien ne fonctionne. SL me répond le message:
Citation:
L'instruction foreach ne peut pas fonctionner sur des variables de type 'int', car 'int' ne contient pas de définition public pour 'GetEnumerator'
Sachant que dans ma variable toto, il me retourne juste 0.
Encore moins compréhensible pour moi, si je fait un
Citation:
SET @matricule = '02840013'
Juste avant ma requête, dans ma procédure, cela fonctionne.
Désolé pour cet lonnngue explication mais je commence à craquer ^^
Merci de votre aide :)