С# - использование TableAdapter для возврата одного значения из хранимой процедуры возвращает значение null

Я не понимаю, но моя хранимая процедура, которую я добавил в адаптер таблицы, возвращает только нулевое значение. Предполагается, что он возвращает простое целочисленное значение. В предварительном просмотре, который у меня был с дизайнером набора данных, я мог ясно получить целочисленное значение, которое хотел. Но по какой-то причине я не могу получить значение из своих кодов.

Я следовал инструкциям библиотеки MSDN: http://msdn.microsoft.com/en-us/library/37hwc7kt(VS.80).aspx

Мой код для С#:

humansDataSetTableAdapters.ProfilesTableAdapter tableAdapter 
= new humansDataSetTableAdapters.ProfilesTableAdapter(); 

int returnValue = (int)tableAdapter.getSample();

Console.Write(returnValue);

Мой код для хранимой процедуры getSample:

DECLARE @r int
SET @r = 7
RETURN @r

Может ли кто-нибудь дать мне знать, как я могу решить эту проблему ?? Любая помощь будет оценена!


person SEA    schedule 23.03.2011    source источник


Ответы (3)


Скаляр ожидает результат, а не возврат. По определению, он ищет первый столбец, первую строку. http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx

Пытаться

DECLARE @r int
SET @r = 7
SELECT @r
person Nikki9696    schedule 23.03.2011

вместо того, чтобы использовать это решение, я хотел бы предложить вам использовать ExecuteScalar, если хранимая процедура возвращает одно значение.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx

person Pranay Rana    schedule 23.03.2011
comment
Спасибо за помощь, но я все еще хочу решить проблему с помощью tableAdapter!! - person SEA; 23.03.2011

Вы используете типизированный DataSet? Если это так, убедитесь, что ваша хранимая процедура настроена на возврат скалярного значения.

person Derek Hunziker    schedule 23.03.2011
comment
Я использую стандартный набор данных. В моем конструкторе DataSet я вижу, что для ExecuteMode хранимой процедуры getSample() установлено значение Scalar. - person SEA; 23.03.2011
comment
Хм... тогда я подозреваю, что проблема в вашем SP. Можете ли вы обновить свой пост с образцом SP? - person Derek Hunziker; 23.03.2011
comment
Сбивает с толку то, что я действительно вижу значение 7 в предварительном просмотре набора данных. - person SEA; 23.03.2011