|
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
|
|
ADOQuery: Open/Close или Active:=True/False?07.08.2020, 20:10. Показов 7468. Ответов 20
Привет всем!
Работая над проектом, заглючил SELECT-DISTINCT, добавленный с ордером через SQL.Add в две строки. Изменил SQL.Add -> SQL.Text. Так вот, вопросы:
0
|
|
| 07.08.2020, 20:10 | |
|
Ответы с готовыми решениями:
20
ADOQuery.Close выдает ошибку: BOF или EOF имеют значение True ... Для выполнения операции требуется текущая запись. DevExpress, как вместо True или False вывести картинку Active=true |
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 07.08.2020, 22:35 | |
Сообщение было отмечено Komandor_Yan как решение
Решение
- В случае с присвоением текста запроса свойству Text Close не нужен;
- Вот что говорят гуру: "В коде приложения для открытия и закрытия Query рекомендуется вызывать его методы Open/Close, а не управлять свойством Active. Во-первых, это одно и то же, а во-вторых, Open/Close лучше читаются и не допускают неоднозначностей (как например, Query.Active:=MyVar)"; - Замена ExecSQL на Active := True НЕ ДОПУСТИМА. ExecSQL выполняют модифицирующие запросы, а Active := True/False (лучше вызовы Open/Close) открывают/закрывают набор данных при селективных запросах; - При отладке работы приложения с БД можно включать свойство датасетов Active в True, но готовые приложения нужно настроить так, чтобы они подключались к БД и к данным только при его запуске. Т.е. при отключенных свойствах Active в датасетах.
1
|
|
|
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
|
||
| 08.08.2020, 00:43 [ТС] | ||
|
За всё остальное - спасибо!!!!!
0
|
||
|
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,612
|
|||||||||
| 08.08.2020, 02:49 | |||||||||
|
Добавлено через 1 час 8 минут Правда свойство Text я практически никогда и не пользовал. Длинная строка запроса не очень "смотрибельна". Я всегда старался "форматировать" запрос. Типа
![]() И теперь меня гложат смутные сомнения - а почему метод SQL.Add не закрывает текущий запрос? Или он тоже закрывает?
0
|
|||||||||
|
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
|
|
| 08.08.2020, 03:19 [ТС] | |
|
northener, вот из-за этого я начал кромсать свой проект. Оказывается, вроде закрывает.
У меня возникла проблема повеселее. У меня теперь отказывается программа нормально забирать дистинкты и пр. из БД. Такое ощущение, что когда я осваивал отладчик, я сломал сопроцессор (конечно нет, но какую-то переменную я там раз менял зачем-то((( ). Капец, теперь придется по-видимому среду сносить и ставить заново.
0
|
|
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 08.08.2020, 13:00 | |
|
Сомневаюсь, что хоть какая-то настройка IDE Delphi может хоть как-то влиять на результат запроса к БД. Если вы видите явно неадекватное поведение IDE, то как минимум ее желательно перезагрузить, причем обязательно посмотреть, а не осталась ли ее копия висеть в процессах. Чудить может еще проект, а не IDE и тогда уже тестировать проблему надо в новом проекте.
Например у меня есть версия отличных компонент, но среди них есть один, который начинает буянить, когда его пытаются удалить с формы, причем так отчаянно сопротивляется, что только перезагрузка IDE приводит все в норму.
0
|
|
|
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
|
|
| 08.08.2020, 15:53 [ТС] | |
|
Мне капец как больно, т.к. любой SQL-запрос отказывается изменяться и адекватно работать.
Начать новый проект...
0
|
|
|
|
|
| 08.08.2020, 16:07 | |
|
запроса не существует
это концепция поэтому и отказываться ни от чего он не в силах поэтому для понимания остальными требуется соблюдать нехитрые требования 1. я хочу сделать.. 2. для этого я придумал ... 3. что я сделал... 4. что должно получиться ... 5. что на самом деле получилось... тогда шансы на помощь сильно отличаются от нуля а описывать переживания и гуманизировать неодушевленное - для этого есть литература и искусство
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 08.08.2020, 16:08 | |
|
Может показать проект (выложить сюда) и сказать какая версия Delphi.
Возможно кто-то на ВЫ с MySQL и поможет конкретно.
0
|
|
|
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
|
||
| 09.08.2020, 00:31 [ТС] | ||
|
krapotkin, да, согласен...
Скандербег, Delphi 10.3CE эмбарка. Выложить скорее не получится, чем получится - у меня сервер привязан на localhost, не сэкспортирую. Думаю, что придется просто заново перерисовать и переписать проект - м.б. нахимичил, когда решил все юниты упаковать в папки и затем заново подключить их. Добавлено через 4 минуты
0
|
||
|
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,612
|
|
| 09.08.2020, 01:30 | |
|
0
|
|
|
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
|
|
| 12.08.2020, 17:03 [ТС] | |
|
northener, да ладно Вам, что Вы сразу наезжаете? Я же не знаю backstage делфи.
krapotkin, были ошибки AV, когда на закрытие главной формы ругается процедура дефолта+закрытия второй формы, в которой был просто Close и SQL.Clear.
0
|
|
|
|
|
| 12.08.2020, 20:32 | |
|
ошибки AV чаще всего элементарные
ставим точку останова и проверяем в отладчике какие переменные = NIL или чуть посложнее, если нет привычки вызывать FreeAndNil() вместо Free - т.е. уже разрушены, но значение непустое
0
|
|
|
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
|
|
| 13.08.2020, 00:11 [ТС] | |
|
уууу, разрушать формы через Free - я пока тут не гуру)
Пока стремаюсь переводить на динамическое создание - как сдам работу, так и переведу на динамику. Не хочу экспериментировать - сначала структуру БД начал кромсать, затем код править начал, решил в проекте растусовать в отдельную папку все юниты с дфм-ками,в матсопроцессоре наизменялся - вот и пошло-поехало
0
|
|
|
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,612
|
|
| 13.08.2020, 03:38 | |
|
0
|
|
|
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
|
|
| 13.08.2020, 22:55 [ТС] | |
|
northener, я привык, что обычно так высвобождают форму сразу, чтобы высвободить все её элементы. Может я что-то путаю.
Но в основном высвобождают через Free динамические элементы (уже пробовал высвобождать Edit - не помогло).
0
|
|
|
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,612
|
||
| 14.08.2020, 01:25 | ||
|
Если вы сами создали в рантайме некую форму и она вам нужна вплоть до окончания работы приложения, то лучше отдать её уничтожение на волю её владельцу. И тут важно кого/что вы указали владельцем Owner в методе Create Если вы указали там nil, значит всю ответственность за уничтожение этой формы вы взяли на себя. Вам и отвечать. Ну и вдобавок. При закрытии приложения/главной формы вся память освобождается автоматически.
0
|
||
|
33 / 28 / 6
Регистрация: 24.03.2020
Сообщений: 219
|
|
| 15.08.2020, 12:02 [ТС] | |
|
А при закрытии второстепенной освобождать нужно принудительно память или все query и прочие элементы автоматически закрываются, удаляют SQL.text и прощаются с этой формой?
0
|
|
| 15.08.2020, 12:02 | |
|
Помогаю со студенческими работами здесь
20
SQL->Active: True не ставится Изменение true на false и добавление данных
Вероятно заместо True надо False только где? Как в ADO в таблице с логическим типом изменить значение с true на false после какого либо события? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
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
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|