Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
_katon_
385 / 241 / 20
Регистрация: 03.10.2011
Сообщений: 1,003
1

Вызов метода хранимой процедуры через TabelAdapter

20.01.2012, 03:01. Просмотров 1742. Ответов 2
Метки нет (Все метки)

Такая проблема.

Есть dataset В датасете есть TableAdapter для которого добавлена Хранимая процедура не возвращающая значение. Процедура выглядит сл. образом:
T-SQL
1
2
3
4
5
ALTER PROC [dbo].[sp_SumDebet] 
    @YNP INT,
    @Sum FLOAT OUTPUT
AS
Код процедуры
Как видно один из параметров должен возвращать значение.

В TableAdapter-е процедуре соответствует метод с таким же названием. Его вызов осуществляю (пытаюсь) следующим образом:
C#
1
2
3
4
            
int YNP;
double Sum;
this.tbl_AccountTableAdapter.sp_SumDebet(YNP, ref Sum);
Ошибка звучит следующим образом:
cannot convert from 'ref double' to 'ref double?'
т.е. есть какие-то проблемы с приведением типов (у метода какая-то необычная сигнатура - int?, ref double?). Как сделать так, чтобы метод "схавал" переменную и вернул значение после ее выполнения?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2012, 03:01
Ответы с готовыми решениями:

Вызов хранимой процедуры через форму
Имеется хранимая процедура: SELECT Days.Days, Time.Time, learner.FIO FROM TL...

Вызов хранимой процедуры
есть хранимая процедура. Надо ее вызвать и что бы она заменила один столбец в БД. если что проект...

Вызов хранимой процедуры
Привет! У меня есть база данных и запрос, написанный на SQL в сишарпе. Таблица из базы данных...

Вызов хранимой процедуры
Как вызвать хранимую процедуру в БД Access через Viasual Studio 2015 Community. Хранимые процедуры:...

Вызов хранимой процедуры
Здравствуйте, помогите пожалуйста. Мне нужно сделать, чтобы на форму в ЛистБокс выводилась...

2
_ZnOFF_
16 / 16 / 6
Регистрация: 27.06.2010
Сообщений: 48
20.01.2012, 09:25 2
Хранимка может вернуть NULL. Для типа double это значение недопустимо. Тип double? указывает что NULL допустим.
Попробуйте так:

C#
1
2
3
int YNP;
double? Sum;
this.tbl_AccountTableAdapter.sp_SumDebet(YNP, ref Sum);
1
_katon_
385 / 241 / 20
Регистрация: 03.10.2011
Сообщений: 1,003
20.01.2012, 10:55  [ТС] 3
Спасибо. Так действительно работает. А где про это (про знак ? в сочетании с типами и его применение) можно почитать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2012, 10:55

Вызов хранимой процедуры
Добрый день У меня есть процедура хранимая в MySQL на добавление строки CREATE DEFINER =...

Вызов хранимой процедуры в с#
Хочу обновить бд с помощью хранимой процедуры ALTER procedure . @id_TP int, @id_worker int, @DT...

Вызов хранимой процедуры в FirebirdSQL
Вызываю хранимую процедуру в FirebirdSQL. Вот так: FbCommand res = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru