|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
|
Как узнать ID?22.05.2016, 20:58. Показов 2391. Ответов 49
Метки нет (Все метки)
Подскажите пожалуйста, вот есть DBGrid.
В нем поля: 1) ID (Уникальное) 2) NAME (Просто название ГРУЗА) 3) ID_TIP (По нему получаю название ТИПА ГРУЗА из другой таблицы, где только типы: легкий, средний и.т.д.) Предположим есть там 10 ну или N записей, вида: 1 КОРОБКИ ТЯЖЕЛЫЙ 2 ПРОВОДА ЛЕГКИЙ ................................ Мне нужно сделать проверку на удаление, т.е. если ТИП ГРУЗА используется в этой таблице на какой-то записи, то удалить его нельзя т.е. есть связь. Я пишу запрос SQL: SELECT * FROM GRUZ G, TIPGRUZA T WHERE G.ID_TIP=T.ID n:=SQL.RecordCount; (Вернёт число строк с таким условием) Ставлю if n>0 then 'вывести ошибку удаления грубо говоря' else 'удалим и всё' Но есть проблема, БДЕ так не продумана или я глупый, но по такому условию всегда будет проверяться только первая запись, а если указатель будет стоять на другой то он не сработает и всё равно проверит первую и выдаст соответствующее условие. Нужно каким-то образом пробегать по всем записям и передвигать курсор туда куда я тыкнул или как-то по другому. Проще говоря, если в типе груза 3 записи и я нажму удалить 3-ю, проверит 1-ю и всё и выдаст ошибку для неё, а не для 3-й записи куда я нажал, как это реализовать?
0
|
|
| 22.05.2016, 20:58 | |
|
Ответы с готовыми решениями:
49
Как узнать, что картинка полностью загружена, чтобы узнать её размеры Как узнать количество вводимых чисел? Как их записать все в массив? |
|
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,607
|
|||
| 23.05.2016, 13:02 | |||
o для препод не понятно ? тогда Мы извиняем перед препод ![]() ![]() ухх... препод, препод
0
|
|||
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
|
| 23.05.2016, 13:04 [ТС] | |
|
То что без цикла это никаким образом не осуществить, у вас его нигде нет, значит предполагаю, что мы говорим о разном.
Добавлено через 1 минуту SELECT * FROM GRUZ G, TIPGRUZA T WHERE G.ID_TIP=T.ID n:=SQL.RecordCount; (Вернёт число строк с таким условием) Ставлю if n>0 then 'вывести ошибку удаления грубо говоря' else 'удалим и всё' Вот весь код, он не правильный, потому что работает на одну, первую строку.
0
|
|
|
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,607
|
|||||||
| 23.05.2016, 13:08 | |||||||
0
|
|||||||
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
|
| 23.05.2016, 13:09 [ТС] | |
|
Не сравнивай свой код с моим ...
0
|
|
| 23.05.2016, 13:12 | |||
|
Добавлено через 1 минуту но вам не нужна следующая строка и не нужен массив у вас ведь известно ID - стройте по нему запрос и тогда будет только ОДНА строка
0
|
|||
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
||||||
| 23.05.2016, 13:17 [ТС] | ||||||
Но оно не работает ... Потому что оно проверяет всего 1 строчку из таблицы ...
0
|
||||||
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
|
| 23.05.2016, 13:23 [ТС] | |
|
так-то оно так, но не так.
Условие сработает только на 1 из N строк и на основании этого выдаст условие
0
|
|
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
|
| 23.05.2016, 13:23 [ТС] | |
|
Я не знаю как и почему, но это так, в этой БДЕ это так, это не так если я бы писал на пхп, но тут это так ...
0
|
|
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
|
| 23.05.2016, 13:28 [ТС] | |
|
Всё, я поник.
Можно просто последовательность действий?
0
|
|
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
||||||
| 23.05.2016, 13:42 [ТС] | ||||||
|
Проблема с алгоритмом, а не с SQL
Добавлено через 10 минут Таблица 1 1 Болт Легкий 2 Ручка Легкий 3 Кирпич Средний 4 Машина Средний Таблица 2 1 Легкий 2 Средний 3 Тяжелый
Что должно выдать?
0
|
||||||
|
|
||||||||||||||||
| 23.05.2016, 14:24 | ||||||||||||||||
|
просто показать таблицу 1
теперь я встаю на любую строку этого грида и нажимаю какую-то кнопку с надписью "удалить"
0
|
||||||||||||||||
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
|
| 23.05.2016, 14:38 [ТС] | |
|
Код скушало правильно, но он не работает.
Всё так как я и сказал ... Ответь на вопрос над твоим постом.
0
|
|
|
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,607
|
|
| 23.05.2016, 14:40 | |
|
0
|
|
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
||
| 23.05.2016, 14:42 [ТС] | ||
|
Я сделал всё правильно, и дал ответ, код не работает, потому что вы меня не слушаете.
0
|
||
|
0 / 0 / 2
Регистрация: 01.10.2013
Сообщений: 344
|
|
| 23.05.2016, 14:44 [ТС] | |
|
Ответьте на 34 сообщение ...
Я больше ничего пока что не прошу.
0
|
|
| 23.05.2016, 14:44 | |
|
Как определить запуск браузера, и как узнать URL загруженный в браузере? Как узнать поддерживает ли ноут SATA 3 и как перенести систему на SSD ? Как с командной строки узнать как был присвоен IP адрес Как узнать чем накрыт и как дешифровать файл png Как создать палитру цветов и как узнать выбранный цвет Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
начало и оглавление
-
Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|