|
1 / 1 / 1
Регистрация: 20.12.2010
Сообщений: 85
|
|||||||||||
Сравнить запись из таблицы с edit04.06.2011, 16:43. Показов 5424. Ответов 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
|
||||||
|
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
|
||||||
| 05.06.2011, 12:12 | ||||||
|
Попробуй так. Проверить не могу сейчас
Код
0
|
||||||
|
|
||||||
| 05.06.2011, 12:24 | ||||||
0
|
||||||
|
1654 / 1153 / 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
|
|
|
1654 / 1153 / 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
|
|||||||||||||||||
|
1654 / 1153 / 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
|
|
|
1654 / 1153 / 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
|
|
|
1654 / 1153 / 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
|
|
|
1654 / 1153 / 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
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|