Je suis nouveau dans le monde des procédures stockées.Valeur de sortie de la procédure stockée vers la variable
Nous avons un système existant avec une procédure stockée existante, qui vérifie le nom d'utilisateur et le chemin de l'URL. La procédure stockée vérifiera si les détails de l'utilisateur existent. Si existe, renvoie la valeur groupname à laquelle appartient le nom d'utilisateur. Tout ce que je veux, c'est d'écrire du code asp.net C# pour cette procédure stockée. La transmission des détails et du chemin de l'utilisateur et le renvoi de la procédure stockée renvoient la valeur dans une variable chaîne.
lien ci-dessous pour SQL Server exécutons procédure stockée
http://www.natboxservices.com/helmshore/img/pic.jpg
lien ci-dessous pour la valeur de sortie SQL Server ressemblent
http://www.natboxservices.com/helmshore/img/2012-07-03%2009.35.13.jpg
noter que l'image ci-dessus nomdugroupe est vide parce que j'Exécuté emmagasinés procédure avec une mauvaise entrée et il n'y a pas de nom de groupe existe pour ces données dans sqlserver. si existe il retournera une valeur pour le nom de groupe tel que "administrateur" ou "Manager"
ma question est "si les données existent et le nom du groupe de retour je veux passer cette valeur dans la variable de chaîne" pour que l'attribution du paramètre et variable pass valeur de retour dans la chaîne
Ceci est mon StoredProcedure
USE [IRC_siteadmin]
GO
/****** Object: StoredProcedure [dbo].[sp_intranet_GetSecurity] Script Date: 07/03/2012 10:05:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[sp_intranet_GetSecurity]
@username VARCHAR(50),
@path VARCHAR(200),
@errorID INT OUTPUT
AS
BEGIN
SELECT
G.name as groupname
FROM
tbl_site_link L WITH(NOLOCK)
INNER JOIN
tbl_site_link_group LG WITH(NOLOCK)
ON
L.link_id = LG.link_id
INNER JOIN
tbl_site_group G WITH(NOLOCK)
ON
LG.group_id = G.group_id
INNER JOIN
( SELECT
group_id
FROM
tbl_site_user U WITH(NOLOCK)
INNER JOIN
tbl_site_user_group UG WITH(NOLOCK)
ON
U.user_id = UG.user_id
WHERE
[name] = @Username) U
ON
G.group_id = U.group_id
WHERE
L.url LIKE '%'[email protected]+'%'
AND
(U.group_id IS NOT NULL)
UNION
SELECT
'Uber' as groupname
FROM
tbl_site_link L WITH(NOLOCK)
INNER JOIN
tbl_site_link_group LG WITH(NOLOCK)
ON
L.link_id = LG.link_id
CROSS JOIN
( SELECT
group_id
FROM
tbl_site_user U WITH(NOLOCK)
INNER JOIN
tbl_site_user_group UG WITH(NOLOCK)
ON
U.user_id = UG.user_id
WHERE
[name] = @Username
AND
group_id = 1) U
WHERE
L.url LIKE '%'[email protected]+'%'
AND
(U.group_id IS NOT NULL)
END
toute aide appréciée
grâce
jamais entendu parler de l'écran-grappins ?! Vous travaillez avec des ordinateurs, et vous prenez une photo de l'écran!?! – freefaller
où est votre procédure stockée? partager le code. pas une capture d'écran –
Pourquoi utilisez-vous des indicateurs de table ('WITH (NOLOCK)')? C'est [recommandé à moins de déboguer des problèmes de performances spécifiques] (http://msdn.microsoft.com/en-us/library/ms187373.aspx). – CodeCaster