![]() |
|
Модераторы: gambit |
![]()
|
|
| ibz07 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 6.11.2009 Репутация: нет Всего: 2 |
Я имею два обьекта
OleDbDataReader reader1 OleDbDataReader reader2 Нада вывести те записи которые совпадают reader1 и в reader2 ? --------------------------------------------- DataTable table = new DataTable(); OleDbDataReader reader = command.ExecuteReader(); table.Load(reader); Если обьекты reader1 и в reader2 сравнить невозможно, то нада сравникть table1 и table2 ? Это сообщение отредактировал(а) ibz07 - 2.1.2010, 17:59 -------------------- Голосование - лучшая книга по Unix - http://forum.vingrad.ru/forum/topic-280686.html |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 3 Всего: 24 |
мне кажется что это тоже не прокатит. по какому принципу ты их собираешься сравнивать? в лучшем случае ты сможешь сравнить их адреса. надо будет сравнивать не таблицы а значения в этих таблицах. мне кажется проще написать правильный запрос к базе, и сразу выбрать то что нужно. |
|||
|
||||
| ibz07 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 6.11.2009 Репутация: нет Всего: 2 |
Так не получится. Мене нужно в коде некоторые запросы обьединять между собой, а некоторые сравнивать между собой(выбирать одинаковые записи). Объединить через Union можно, а вот объединить только одинаковые записи не знаю как? Тогда мене нужно объединить два запроса в самом коде так чтоб получился перехресный запрос, тоже не выйдет. Добавлено через 5 минут и 53 секунды Мене нужно объединить только одинаковые записи не знаю как? Добавлено через 12 минут и 22 секунды А можно как-то послать запрос не на базу даних, а на DataTable - сделать дополнительную выборку. Это сообщение отредактировал(а) ibz07 - 2.1.2010, 18:36 -------------------- Голосование - лучшая книга по Unix - http://forum.vingrad.ru/forum/topic-280686.html |
|||
|
||||
| serbelyakov |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Одинаковые записи - это записи у которых значения всех полей совпадают. Или я не прав? А если прав, то тогда запрос к
SELECT table1.* FROM table1 INNER JOIN table2 ON table1.field1 = table2.field1 AND table1.field2 = table2.field2 ... AND table1.fieldn = table2.fieldn |
||||
|
|||||
| ibz07 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 6.11.2009 Репутация: нет Всего: 2 |
У меня опше то в базе данных одна таблица.
А объект table имеет тип DataTable table1 и table2 - это в коде, а не в базе данных... Нада еще учитывать что поле №1(y) в первой таблице может совпадать с полем №10(x) с другой таблицы. Это сообщение отредактировал(а) ibz07 - 2.1.2010, 22:36 -------------------- Голосование - лучшая книга по Unix - http://forum.vingrad.ru/forum/topic-280686.html |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 3 Всего: 24 |
ibz07, что у тебя совсем что то не понятное. давай по порядку. у тебя в базе есть одна таблица. ты из нее выбираешь данные, но выбираешь их в два datatable? а зачем? не проще ли в один выбрать все что нужно сразу?
|
|||
|
||||
| ibz07 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 6.11.2009 Репутация: нет Всего: 2 |
Параметр1={ Значение1 або Значение2 або ЗначениеN } { Параметр1, Параметр2, ПараметрN } Количество параметров и количество значений неизвестно. Ну это сделать возможно, но если пользователь не выберет какой-то параметр, то вместо значения null какое значение посылать(Оно должно означать любой тест) Проектирую СУБД, у меня проблема: "Когда посылаю запрос с неизвестным количеством параметров до базы данных, если хотябы у одного параметра не будет значения, то запрос не сработает" Какое значение нужно подставить вместо пустого поля(параметра) чтоб запрос сработал? Это сообщение отредактировал(а) ibz07 - 3.1.2010, 00:18 -------------------- Голосование - лучшая книга по Unix - http://forum.vingrad.ru/forum/topic-280686.html |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 3 Всего: 24 |
а что мешает программно составить этот самый запрос? а тот параметр, для которого нету значения, просто не указывать.
|
|||
|
||||
| ibz07 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 6.11.2009 Репутация: нет Всего: 2 |
Запрос возратит 0 -записей, так как будет считать, что второй параметр должен быть пустым, а мене нужно просто чтоб не учитывал второй параметр. -------------------- Голосование - лучшая книга по Unix - http://forum.vingrad.ru/forum/topic-280686.html |
|||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 3 Всего: 24 |
ibz07, ты меня явно не понял(или я не понял что именно тебе нужно сделать). запрос это просто строка, которая передается в базу для выполнения. значит с этой строкой можно сделать все что нужно до отправки базе. т.е. если у тебя нету каких то параметров, то их можно просто не учитывать, а собрать запрос руками без этих самых параметров.
|
|||
|
||||
| ibz07 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 6.11.2009 Репутация: нет Всего: 2 |
Собрать запрос, то можно, то там будет куча гимароя с приоритетом операций OR и AND и дужками. В разных ситуациях нужно в разных местах расставлять знаки OR и AND и () в одних нужно добавлять, а у других нет. Это сообщение отредактировал(а) ibz07 - 3.1.2010, 02:06 -------------------- Голосование - лучшая книга по Unix - http://forum.vingrad.ru/forum/topic-280686.html |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |