|
8 / 8 / 1
Регистрация: 18.04.2010
Сообщений: 74
|
||||||
Выборка из таблицы17.10.2010, 15:37. Показов 1873. Ответов 11
Метки нет (Все метки)
В общем есть таблицы RazuzBezRs, H06090, SH01007, в них есть строковое поле DSE.
Необходимо просмотреть все записи поля DSE в RazuzBeRS и проверять выполнение условия, что текущая запись также содержится в таблицах H06090 и SH01007 в поле DSE. Если условие выполняется, то добавить в таблицу prom из таблицы H06090(из поля DSE) все повторяющиеся записи (равные текущей записи найденной в RazuzBezRs). Работаю с компонентами Table, query, datasource. Пробовал делать через запрос (код приведен ниже), цикл до конца не доходит( останавливается на какой-то записи) и программа просто виснет. Может подскажете еще какие-нибудь способы как можно сделать эту задачу, или что может быть не так с моим кодом?
0
|
||||||
| 17.10.2010, 15:37 | |
|
Ответы с готовыми решениями:
11
Выборка таблицы по условию если ничего не найдено, вернуть все записи таблицы! Выборка значения из таблицы по переменной из другой таблицы Выборка из таблицы и обновление второй таблицы |
|
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
|
|
| 17.10.2010, 16:25 | |
|
Для того, чтобы что-то посоветовать надо знать
1. В таблицах RazuzBezRs и SH01007 поле DSE заполняется уникальными значениями, или значения могут повторяться? 2. Какую СУБД используешь?
0
|
|
|
8 / 8 / 1
Регистрация: 18.04.2010
Сообщений: 74
|
|
| 17.10.2010, 22:42 [ТС] | |
|
1. В таблицах RazuzBezRs и SH01007 значения поля DSE уникальны.
2. Использую dBASE lV
0
|
|
|
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
|
|||||||||||
| 18.10.2010, 06:17 | |||||||||||
|
Я бы сделал следующее.
1. В объектt Query1 прописал бы запрос
1
|
|||||||||||
|
8 / 8 / 1
Регистрация: 18.04.2010
Сообщений: 74
|
|||||||||||
| 18.10.2010, 10:14 [ТС] | |||||||||||
|
SAMZ, сделал как вы советовали.
Пробовал также сделать без запросов, используя промежуточную таблицу prom06090 и фильтруя ее по DSE. Результат тот же, программа виснет Код с фильтрацией ниже.
0
|
|||||||||||
|
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
|
||||||
| 18.10.2010, 10:35 | ||||||
|
Цикл
0
|
||||||
|
8 / 8 / 1
Регистрация: 18.04.2010
Сообщений: 74
|
|||||||||||
| 18.10.2010, 15:10 [ТС] | |||||||||||
|
Есть стандартный SQL Explorer, в нем этот запрос также не работает (SQL explorer виснет). Экспериментировал со своим запросом
Если делать через фильтрацию и не вводить промежуточную таблицу, то как потом вернуть таблицу в исходное состояние до фильтрации? Пробовал закрывать и открывать таблицу, не помогает.
0
|
|||||||||||
|
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
|
|
| 18.10.2010, 15:18 | |
|
А таблица H06090 в SQL Explorer открывается. Попробуй открыть ее без SQL и полистать. Может таблица битая?
0
|
|
|
8 / 8 / 1
Регистрация: 18.04.2010
Сообщений: 74
|
||||||||||||
| 19.10.2010, 08:47 [ТС] | ||||||||||||
|
Открыл H06090, полистал немного, вроде все нормально (всю не пролистаешь, там больше 10000 записей). Причем интересный факт: в таблице H06090 в поле DSE точно есть запись 1889300590001,
а когда я в SQL Explorer пишу запрос
Добавлено через 16 часов 29 минут Неужели нет способа решить эту задачу без SQL?
Добавлено через 37 минут В моем случае решить задачу с помощью SQL не получается из-за "битых файлов или индексов или записей", поэтому я и ищу другие способы. И да, dbf это старье согласен, но эта БД была написана задолго до меня и приходится работать с тем что есть.
0
|
||||||||||||
|
1263 / 706 / 62
Регистрация: 21.12.2009
Сообщений: 2,256
|
||
| 19.10.2010, 09:05 | ||
|
Сочувствую. Один совет. В инете можно найти описание структуры dbf-файла. Эти файлы состоят из так называемого хидера (заголовочной части), в котором описываются некоторые общие для таблицы данные (количество имена, типы и размер полей, количество записей и т.д.). Насколько я помню хидер в этих файлах всегда имеет один и тот же размер. Так вот, можно открыть этот файл, как обычный файл прямого доступа. С помощью Seek встать на нужный байт и далее считывать записи одну за другой интерпретировать их и выполнять необходимые действия.
1
|
||
|
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
|
||
| 19.10.2010, 09:14 | ||
Не по теме: 10 000 записей а уникальное поле 13 значное - это жесть для dbf и для меня Попробуй использовать в SQL значение First, поищи справку как им пользоваться, можна выбирать n-первых записей и если на каком нить n у тебя будет ошибка таки файл битый, в таком случай и тейбл не поможет
1
|
||
|
8 / 8 / 1
Регистрация: 18.04.2010
Сообщений: 74
|
|
| 19.10.2010, 11:14 [ТС] | |
|
Спасибо за помощь, буду думать.
0
|
|
| 19.10.2010, 11:14 | |
|
Помогаю со студенческими работами здесь
12
Выборка из таблицы и обновление второй таблицы Выборка из таблицы выборка из таблицы Выборка из таблицы Выборка из таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|