Ошибка в MVC Core 2 - хранимые процедуры возвращают ноль - PullRequest
0 голосов
/ 04 мая 2018

как мне сообщить об ошибке команде MVC Core2, хранимая процедура Output Parameter возвращает ноль,

Вот мой код

var p = new SqlParameter
{
    ParameterName = "token",
    DbType = System.Data.DbType.String,
    Size = 100, Value = "Sarah",
    Direction = System.Data.ParameterDirection.Output
};
var z = p.SqlValue;
var resp = await _context.Database.ExecuteSqlCommandAsync("exec dbo.yourstoredprocedure {0}, {1}","test", p); 
var y = p.SqlValue;
var x = p.Value;

resp всегда равен -1, а x и y равны нулю, хранимая процедура просто

create PROCEDURE [dbo].[yourstoredprocedure] 
( @varone nvarchar(max),
@vartwo nvarchar(50) OUTPUT)
AS
 insert into test (two, three) select  @varone, @vartwo'
SET @vartwo =  scope_identity()
return @vartwo;

1 Ответ

0 голосов
/ 04 мая 2018

Как я уже говорил в комментариях, ваш SP полон синтаксических ошибок. Вероятно, это должно выглядеть примерно так:

CREATE PROCEDURE [dbo].[yourstoredprocedure] @varone nvarchar(max),
                                             @vartwo nvarchar(50),
                                             @varfour int OUTPUT AS --What happened to @varthree ?


    INSERT INTO test (two, three)
    VALUES (@varone, @vartwo);
    SET @varfour = SCOPE_IDENTITY();
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...