![]() |
|
Модераторы: gambit |
![]()
|
|
| thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Привет всем.
Программно(C#) работаем с БД Access. А так как возможность частых подключений к базе ограничена, то загружаем часть таблиц из БД в DataSet и там должны выполняться выборки. Вопрос: возможно ли выполнять SQL запросы на выборку из таблиц находящихся в DataSet? Если да, то как это выглядит синтаксически. К примеру чтобы загрузить таблицу в DataSet пишу следующее:
Ну а теперь в DataSet(без соединения с БД) из этих трех таблиц нужно делать выборки. К примеру для определенного клиента сделать таблицу всех его покупок. И далее, к примеру, из этой таблицы сделать выборку по определенному товару. Если бы было возможно соединение с базой, то выборку покупок данного клиента получил бы так
А как это сделать в DataSet? SQL запрос будет "select * from verkoop where [Code klant] = xxxx" где "verkoop" имя таблицы в DataSet. Заранее спасибо. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
| reloni |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 10.5.2006 Где: Москва Репутация: нет Всего: 4 |
У DataTable есть специальный метод Select. Должно быть примерно так:
Это сообщение отредактировал(а) reloni - 5.11.2006, 21:43 |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
reloni,
хорошо, таким методом я получу массив строк из таблицы "verkopen", которые удовлетворяют условию. А что мне делать с этим массивом? Как мне его, к примеру, в отдельную таблицу запихнуть? Для последующих манипуляций. -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| reloni |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 10.5.2006 Где: Москва Репутация: нет Всего: 4 |
В отдельную таблицу скорее всего не сможешь, т. к. эти строки уже принадлежат другой таблице, из которой ты делал выборку.
|
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
reloni,
ладно, не могу создать отдельную таблицу их этого массива строк. А еще раз отфильтровать этот массив, используя другой фильтр( по другому столбцу), возможно или нет? Это сообщение отредактировал(а) thomas - 5.11.2006, 22:39 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Можно выполнить Merge любой таблицы любого датасета с любым массивом DataRow-ов. -------------------- ![]() |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
Привет всем.
Отвечаю на свой вопрос. После вдумчивого и разнорстороннего изучения вопроса, я пришёл к выводу, что: - SQL запросы можно использовать только при обращении к БД; - для выборки данных в ДатаСет необходимо использовать фильтры для строк DataTable или фильтры в DataView. DataRow[] drFound; drFound=myDataTable.Select(условие); так мы получаем массив строк удовлетворяющих условию выборки. Одну строку получить не возможно, только массив. Но массив может содержать одну строку. dv = new DataView(); dv.Table = ds.Tables["имя таблицы в датасет"]; dv.RowFilter = "условие"; выводим на экран DataGridView1.DataSource = dv; Всем спасибо и успехов. Это сообщение отредактировал(а) thomas - 9.11.2006, 01:10 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |