Sql Server存储过程返回-1

时间:2014-07-01 22:18:48

标签: sql-server linq stored-procedures parameters output

我正在实体框架6.0上编写代码,在asp.net上运行linq,sql server platform。

我已经编写了一个存储过程,它应该返回一个输出值(0或1)

首先,我使用输出参数编写SP,如下所示:

ALTER proc [dbo].[checkUser]
(
    @oNo int,
    @pw varchar(50),
    @val int output
)
as
begin
    if EXISTS (select * from Users where @oNo=sNo and @pw=password)
        begin
        set @val=1
        end
    if not exists(select * from Users where @oNo=sNo and @pw=password)
        begin
        set @val=0
        end

end

没有用。它返回-1。然后我像这样改变了SP:

ALTER proc [dbo].[checkUser]
(
    @oNo int,
    @pw varchar(50)
)
as
begin
    if EXISTS (select * from Users where @oNo=sNo and @pw=password)
        begin
        return 1
        end
    else
        begin
        return 0
        end

end

每个存储过程的方式只返回-1

你能帮助我吗,我在哪里做错了?

1 个答案:

答案 0 :(得分:0)

尝试替换"返回"通过"选择"。

if EXISTS (select * from Users where @oNo=sNo and @pw=password)
    begin
    select 1
    end
else
    begin
    select 0
    end