хранимая процедура возвращает varchar в LINQ - PullRequest
0 голосов
/ 27 августа 2010

Я хотел бы знать, если в SQL можно вернуть значение varchar из хранимой процедуры, большинство примеров, которые я видел, возвращаемое значение - это int

Пример внутри proc

declare @ErrorMessage varchar(255) if @TestFlag = 0 set @ErrorMessage = 'Test' 
return @ErrorMessage 

вызов на asp.net Обновлено:

Ошибка: Ошибка преобразования при преобразовании значения varchar 'Development' в тип данных int.

   using (DataContextDataContext dc = conn.GetContext())
{
    string serverName = ""
    var result = dc.spGetServerName(ref serverName);                    
    return result.ToString();

}

Ответы [ 2 ]

5 голосов
/ 27 августа 2010

Нет, вы не можете вернуть ничего, кроме int, используя инструкцию RETURN. Вместо этого вам нужно будет использовать параметры OUTPUT. Они более гибкие.

, например

CREATE PROCEDURE dbo.ExampleSproc 
    @OutParam VARCHAR(10) OUTPUT
AS
SET @OutParam = 'Test'
...
GO

Обновление:
Пример получения выходного параметра см. В этой статье .

.
0 голосов
/ 27 августа 2010

Нет.Пожалуйста, смотрите: http://msdn.microsoft.com/en-us/library/ms174998.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...