На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Обязательно указание:
1) типа базы данных (Paradox/Oracle/Interbase и т.п.)
2) способа доступа к базе данных (ODBC/ADO/DAO/BDE и т.п.)
Например: Paradox/BDE, MS Access/ADO

Наиболее часто задаваемые вопросы:
Базы даных для начинающих. Первые шаги. Понятие о BDE.
Переход на клиент-сервер и начала ADO
Приёмы работы с BLOB (OLE/Memo) полями
Запросы и параметры или как избавиться от многих проблем. Проблемы с датами в запросах.
Нужели мне нужно устанавливать BDE? (или почему не работает программа на другом компьютере)
Модераторы: Bas, Rouse_
  
> Delphi+Access
    Доброго времени суток!

    Столкнулся с такой проблемой. Есть база данных, в базе таблица с большим количеством записей. В таблице 2 поля: Название и Номер. Есть массив с достаточно большим числом элементов (порядка 2000). Требуется извлечь те данные из таблицы, где содержимое поле Номер совпадает с одним из эл-тов массива. Подскажите, как это лучше сделать? Понятно, что при запросе написать в разделе WHERE 2000 раз "OR" не получится. Пытался сравнивать данные отдельно с каждым эл-том массива и добавлять в некоторую временную таблицу, однако скорость работы программы в таком случае ужасна. Какие еще есть варианты? Спасибо за помощь.
      Цитата mikhea @
      Понятно, что при запросе написать в разделе WHERE 2000 раз "OR" не получится.

      а если
      ExpandedWrap disabled
        select .. бла бла .. where номер in ('345435','345345','435345'....)
        или
        ExpandedWrap disabled
          select .. бла бла .. where номер not in ('345435','345345','435345'....)
          или создать таблицу из значений массива и только потом выполнять запрос-)
            Спасибо большое, вариант с добавлением массива в таблицу очень помог

            where nomer in... тоже работает, но ооочень медленно...
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0535 ]   [ 16 queries used ]   [ Generated: 2.05.24, 12:59 GMT ]