[英]ASP.NET MVC 2: SPROC resturn result?
我不知道如何从我调用的SPROC中获取返回的数据:
public string LoginParty(string UserName, string LoginPin)
{
var result = db.spPartyLogin(UserName, LoginPin);
return result.ToString; // I wish
}
我想知道如何检索我调用的任何SPROC的结果。 在这种情况下,如果凭据不正确,我只会得到一个结果,一个电子邮件地址或一个0 ...并且result.ToString
不起作用。
程序:
ALTER PROCEDURE [dbo].[spPartyLogin]
-- Add the parameters for the stored procedure here
@UserName varchar(50),
@LoginPin varchar(50)
AS
BEGIN
DECLARE @value varchar(50)
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Select statements for procedure here
SELECT @value = EmailAddress FROM Party
WHERE UserName = @UserName AND LoginPin = @LoginPin;
SELECT ISNULL(@value,0)
END
如您所见,在这种情况下,我将返回EmailAddress或0。我想捕获该返回的结果。 我不知道有多少其他方式可以描述我要做的事情...
通常,Libq2Sql将创建一个新类型并返回该类型的IEnumerable。 由于您的单个结果行中有一列没有名称,因此我不确定它会做什么。 在调试器中检查您的结果,看看有什么。 如果EmailAddress不是整数,则如果它为null,则不应使用整数0代替。 您可以使用bkank字符串,甚至允许它返回null。
如果在调试器中查看结果时看不到地址,请尝试将其声明为out参数或在结果中分配列名:
SELECT ISNULL(@value,'') AS EmailAddress
ALTER PROCEDURE spPartyLogin
@Username VARCHAR(50),
@LoginPin VARCHAR(50),
@EmailAddress VARCHAR(50) out
您需要删除并重新添加proc以获取Linq2Sql来查看更改并以任何一种方式重新生成代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.