Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение данных от хранимой процедуры 
:(
    Опции темы
albert21
  Дата 13.4.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 10.1.2006

Репутация: нет
Всего: нет



Всем привет!
Цель - выполнить следующий запрос и сохранить полученные данные в DataTable:
Код

Select Book.id_book, Book.Название, Book.Издательство, Book.Год, Book.УДК, Book.ББК, Book.ISBN, Book.Количество_всего, RelationBookReader.id_relation
From Book, RelationBookReader where RelationBookReader.id_reader=@k and Book.id_book=RelationBookReader.id_book;


где @k это число которое надо подставить. Как выполнить такой запрос в DataSet не обращаясь лишний раз к БД я не знаю (может кто подскажет?)

Я написал хранимую процедуру следующего вида:
Код

CREATE PROC get_book_debtor
@k int
AS
Select Book.id_book, Book.Название, Book.Издательство, Book.Год, Book.УДК, Book.ББК, Book.ISBN, Book.Количество_всего, RelationBookReader.id_relation
From Book, RelationBookReader where RelationBookReader.id_reader=@k and Book.id_book=RelationBookReader.id_book;


В проге выполняю её:
Код

            OleDbCommand command = new OleDbCommand("get_book_debtor", Connection);
            command.CommandType = CommandType.StoredProcedure;
            OleDbParameter workParam = null;
            
            workParam = command.Parameters.Add(new OleDbParameter("@k",  OleDbType.Integer));
            workParam.Direction = ParameterDirection.Input;
            workParam.Value = id_reader;

                Connection.Open();
                OleDbDataReader reader = command.ExecuteReader();
                Connection.Close();

но как получить данные процедуры в виде набора записей DataRow (одной DataTable)???
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
albert21
Дата 14.4.2006, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 10.1.2006

Репутация: нет
Всего: нет



Код

DataTable tbl=new DataTable();
tbl.Load(reader);


Так я решил проблему! Но мне нужно выполнить выборку из нескольких таблиц(указанны в предидущем посте запрос) не обращаясь к БД, а использовать только данные ДатаСет`а!!!

Должно же быть такое решение - это логично!!! Что, никто не знает??? Очень надо!!!
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
mr.DUDA
Дата 14.4.2006, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



albert21, можно выполнить объединение двух датасетов с помощью метода DataSet.Merge.


--------------------
user posted image
PM MAIL WWW   Вверх
albert21
Дата 15.4.2006, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 10.1.2006

Репутация: нет
Всего: нет



Цитата

можно выполнить объединение двух датасетов с помощью метода DataSet.Merge.

mr.DUDA, как это может помочь? Пример можешь обрисовать? smile
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
mr.DUDA
Дата 15.4.2006, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 8
Всего: 232



Цитата(albert21 @ 14.4.2006, 11:49 Найти цитируемый пост)
Но мне нужно выполнить выборку из нескольких таблиц(указанны в предидущем посте запрос) не обращаясь к БД, а использовать только данные ДатаСет`а!!!


albert21, где в твоём примере "данные ДатаСет'а", которые "нужно использовать" для получения результата ? Я имел ввиду, что если есть к примеру два датасета с результатами разных запросов, то их можно слить в один методом Merge.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0672 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.