繁体   English   中英

ASP.NET MVC 2:SPROC返回结果?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM