2010-08-26 3 views
0

Я хотел бы знать, если в SQL есть возможность возвращать значение VARCHAR из хранимой процедуры, большинство примеров, я видел возвращаемое значение является ИНТхранимая процедура возвращает VARCHAR в LINQ

Пример в пределах прок

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

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

Ошибка: Конверсия удалось при преобразовании значения 'Развитие' VARCHAR к типу данных междунар.

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

} 

ответ

5

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

например.

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

Обновления:
Для примера о том, как получить выходные параметры, см this article.

+0

как я могу вызвать storproc для получения вывода? –

+0

У меня есть обновленный вопрос. –

+0

@Nisar Khan - см. Ссылку в обновлении по моему вопросу – AdaTheDev

Смежные вопросы