|
1 / 1 / 1
Регистрация: 20.12.2010
Сообщений: 85
|
|||||||||||
Сравнить запись из таблицы с edit04.06.2011, 16:43. Показов 5461. Ответов 20
Метки нет (Все метки)
Прошу помощи! Надо организовать, казалось бы, простейшее IF ELSE, но что-то не выходит. Нужно сравнить данные из edit с данными из таблицы sql, если такая запись есть, то одно, если нет, то другое... В стрингах пишу
0
|
|||||||||||
| 04.06.2011, 16:43 | |
|
Ответы с готовыми решениями:
20
Edit сравнить с записью из таблицы Запись в файл из полей Edit и проверка Edit на пустоту Сравнить значение в Edit в записью в DBGrid |
|
1 / 1 / 1
Регистрация: 20.12.2010
Сообщений: 85
|
|
| 04.06.2011, 18:47 [ТС] | |
|
0
|
|
|
1 / 1 / 1
Регистрация: 20.12.2010
Сообщений: 85
|
||||||
| 05.06.2011, 03:27 [ТС] | ||||||
|
а не подскажете как это сделать? пытался через eof, но чё то не вышло
Добавлено через 2 часа 14 минут На дельфи код такой(пример)
0
|
||||||
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
||||||
| 05.06.2011, 12:12 | ||||||
|
Попробуй так. Проверить не могу сейчас
Код
0
|
||||||
|
|
||||||
| 05.06.2011, 12:24 | ||||||
0
|
||||||
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 05.06.2011, 12:26 | |
|
Sasha, забыл про ADOQuery1->Next()
2
|
|
|
|
||||||
| 05.06.2011, 12:45 | ||||||
1
|
||||||
|
1 / 1 / 1
Регистрация: 20.12.2010
Сообщений: 85
|
|
| 05.06.2011, 13:51 [ТС] | |
|
К сожалению этот метод мне не подходит, мне нужно чтобы прога однозначно определила есть ли такая запись или нет, а не перебирала по очереди, иначе смысл от if теряется для меня. Нужно чтобы было так: если запись есть, то произвести лишь часть записи в 1-ю таблицу, а если нет, то в первую и вторую. Условие как раз и должно проверять, если во второй таблице такая запись. Этим методом он проверяет лишь каждую запись по очереди, что, соответственно, не подходит
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 05.06.2011, 14:00 | |
|
Запрос может вернуть несколько записей? если да - используй first(code)
Если нет - ты что-то не то тянешь из таблицы. Пример таблицы приведи
0
|
|
|
1 / 1 / 1
Регистрация: 20.12.2010
Сообщений: 85
|
|||||||||||||||||
| 05.06.2011, 21:42 [ТС] | |||||||||||||||||
|
Как я могу не то тянуть? Поле K_ID в таблице 2 только одно. Такое же есть и в таблице 1, они равны, но она тут не при чём, обращаюсь то ко второй таблице... Добавлено через 3 часа 15 минут В общем разобрался сам, модифицировав метод Sasha, всем спасибо! ![]() Добавлено через 2 часа 25 минут Я либо нашёл глюк билдера, либо я олень.
0
|
|||||||||||||||||
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 06.06.2011, 01:05 | |
|
а в куда по твоему break должен вывалиться?
Оператор break обеспечивает прекращение выполнения самого внутреннего из объединяющих его операторов switch, do, for, while. После выполнения оператора break управление передается оператору, следующему за прерванным. (с) Google
0
|
|
|
1 / 1 / 1
Регистрация: 20.12.2010
Сообщений: 85
|
|
| 06.06.2011, 01:08 [ТС] | |
|
А как тогда выйти с формы по этому условию, чтобы остальное не выполнялось? Подскажи плиз, у меня кончились иде уже ;(
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 06.06.2011, 01:15 | |
|
return еще никто пока не отменил. это как вариант №1
вариант №2 - завести переменную (state например), весь блок после while также заключить в if(state) {} идея ясна?
0
|
|
|
1 / 1 / 1
Регистрация: 20.12.2010
Сообщений: 85
|
|
| 06.06.2011, 01:22 [ТС] | |
|
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
||||||
| 06.06.2011, 01:31 | ||||||
|
[QUOTE=time_to_go_on;1728095]
1
|
||||||
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 06.06.2011, 10:26 | |
|
Вы с сервером работаете как с локалкой. Правите через тайбл, а ищите через квери.
Если уж таблица ("локальный" вариант), то проверку на повтор ключей или типа того вполне можно выполнять через Locate. Либо в этом же TADOTable если датасет State = dsBrowse (если изменение/добавление через не DB-aware контролы), либо если правка через грид через клон (TADODataSet.Clone), сформированный непосредственно перед правкой (BeforeEdit/Insert), а после постинга/отмены - убиваемый (этот метод плох если объемы большие, хотя при больших объемах и сам тэйбл плох). Если все же надумаете перейти на клиент-серверную технологию (настоятельно рекомендую), то - во-первых, забудьте про TADOTable и TADOQuery - в АДО все великолепно решается TADODataSet/TADOCommand - во-вторых, повтор ключей реализуйте на строне сервера (триггеры/ограничения..), на клиенте лишь обрабатывая аварийные сообщения сервера - в третьих, откажитесь от нативных первичных ключей и используйте уникальные идентификаторы записей (в том же постгресе - сиквенсы)
0
|
|
|
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
|
| 06.06.2011, 12:17 | |
|
а как поступить с составными ключами в случае использования UID записей?
0
|
|
|
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
|
|
| 06.06.2011, 12:40 | |
|
Там где есть IUD не нужны никакие иные ключи, в т.ч. составные (которые пришли из локалок - DBase, Paradox, Fox..). Для того, чтобы избежать повторов используют уникальные индексы
0
|
|
| 06.06.2011, 12:40 | |
|
Помогаю со студенческими работами здесь
20
Сравнить содержимое двух Edit Box Сравнить дату из поля БД с датой в Edit Сравнить Edit с полями таблиц Access
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|