|
|
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Всем привет! Когда-то уже сталкивался с подобной проблемой и пришлось переходить на ZEOS компоненты. Прошло более 5 лет и вновь пришлось столкнуться с MySQL, но теперь уже использую компоненты FireDAC и хотелось бы на них и остаться. Приложение работает с хранимыми процедурами. Пытаюсь запустить вот так: Код: pascal 1. 2. Первый раз она отработает и всё ок, но второй запуск вернет ошибку: "Commands out of sync; you can't run this command now". Любой запуск процедуры, которая возвращает результат. Погуглил и выяснил, якобы не чистится результат предыдущего результата и с этим связана ошибка. Тогда вопрос, а как его скинуть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 00:09 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Чисто из любопытства: ты и двери всегда закрываешь прежде чем выйти из дома? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 00:26 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Чисто из любопытства: ты и двери всегда закрываешь прежде чем выйти из дома? Хорошо. Я думаю так будет понятнее. Это предыдущий запрос. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. А прописывая всегда Close, я никогда не получу ошибку, если где-то компонент остался открытым. Так как для все подобных запросов я использую один. Которые не требуется для результатирующего постоянного набора. Проще говоря, выполнять всякие вставки, апдейты, удаления и запрос статусов я всегда делаю через один квери. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 00:34 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений Стронгя никогда не получу ошибку, если где-то компонент остался открытым. Ага, ты получишь ошибку если он уже был закрыт или даже никогда не имел result set-а. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 00:47 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений Стронгя никогда не получу ошибку, если где-то компонент остался открытым. Ага, ты получишь ошибку если он уже был закрыт или даже никогда не имел result set-а. Вероятность намного выше, что ты его забудешь где-то закрыть. Нежели начать код с его закрытия. По крайней мере это нормальная практика и в примерах она как раз и демонстрируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 01:17 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений Стронгя никогда не получу ошибку, если где-то компонент остался открытым. Ага, ты получишь ошибку если он уже был закрыт или даже никогда не имел result set-а. Хотя может ты и прав и нужно закрывать запрос сразу после получения результата, чтобы он не "висел" открытым до следующего старта. Но это уже ладно... Проблема у меня сейчас совершенно с другим связана. Прошло более 5 лет, а проблема актуальна до сих пор) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 01:24 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений СтронгВероятность намного выше, что ты его забудешь где-то закрыть. Нежели начать код с его закрытия. это, типа, новый стиль программирования? Объект перед созданием надо уничтожить? Вы бы тогда лучше писали что-то типа Код: pascal 1. 2. чтобы найти места, в которых вы свои датасеты не закрываете вовремя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 01:50 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений Стронгя никогда не получу ошибку, если где-то компонент остался открытым. Ага, ты получишь ошибку если он уже был закрыт или даже никогда не имел result set-а. Не знаю как в энтих ваших фиредаках, а в фибах лишний .Сlose на TFIBQuery никогда ошибок не выдавал. Независимо от того, открыт он был или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 04:38 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
kdv Евгений СтронгВероятность намного выше, что ты его забудешь где-то закрыть. Нежели начать код с его закрытия. это, типа, новый стиль программирования? Объект перед созданием надо уничтожить? Вы бы тогда лучше писали что-то типа Код: pascal 1. 2. чтобы найти места, в которых вы свои датасеты не закрываете вовремя. Это не новый стиль - это правильный стиль! И не понятна попытка умничать тут совсем не к месту, не зная даже кода, который написан перед закрытие. Форум превратился в каких-то осуждающих бабок, вместо того, чтобы ответить по теме. Вот тебе кусок из примера: Свойство SQL - вероятно, самая важная часть TQuery. Доступ к этому свойству происходит либо через Инспектор Объектов во время конструирования проекта (design time), или программно во время выполнения программы (run time). Интересней, конечно, получить доступ к свойству SQL во время выполнения, чтобы динамически изменять запрос. Например, если требуется выполнить три SQL запроса, то не надо размещать три компонента TQuery на форме. Вместо этого можно разместить один и просто изменять свойство SQL три раза. Наиболее эффективный, простой и мощный способ - сделать это через параметризованные запросы, которые будут объяснены в следующей части. Однако, сначала исследуем основные особенности свойства SQL, а потом рассмотрим более сложные темы, типа запросов с параметрами. Свойство SQL имеет тип TStrings, который означает что это ряд строк, сохраняемых в списке. Список действует также, как и массив, но, фактически, это специальный класс с собственными уникальными возможностями. В следующих нескольких абзацах будут рассмотрены наиболее часто используемые свойства. При программном использовании TQuery, рекомендуется сначала закрыть текущий запрос и очистить список строк в свойстве SQL: Query1.Close; Query1.SQL.Clear; Обратите внимание, что всегда можно “безопасно” вызвать Close. Даже в том случае, если запрос уже закрыт, исключительная ситуация генерироваться не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 09:31 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
fraks Dimitry Sibiryakov пропущено... Ага, ты получишь ошибку если он уже был закрыт или даже никогда не имел result set-а. Не знаю как в энтих ваших фиредаках, а в фибах лишний .Сlose на TFIBQuery никогда ошибок не выдавал. Независимо от того, открыт он был или нет. Я не знаю, какие они там получают ошибки. У меня всё прекрасно работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 09:32 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
fraksв фибах лишний .Сlose на TFIBQuery никогда ошибок не выдавал. Они со своим неестественным интеллектом прогнулись под дерьмопримеры, который "везде". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 12:34 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov fraksв фибах лишний .Сlose на TFIBQuery никогда ошибок не выдавал. Они со своим неестественным интеллектом прогнулись под дерьмопримеры, который "везде". Попробовал с компонентами FireDAC вот такую вещь: Код: pascal 1. 2. 3. И вообще никаких Close не надо. Видимо под капотом само всё происходит. И это радует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 15:02 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Следующим логичным шагом будет повторное использование туалетной бумаги. Попробуйте. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 15:59 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Следующим логичным шагом будет повторное использование туалетной бумаги. Попробуйте. Да, спасибо за совет. Обязательно попробую. Сейчас это актуально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2020, 18:24 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений Стронг второй запуск вернет ошибку: "Commands out of sync; you can't run this command now". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2020, 11:22 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Следующим логичным шагом будет повторное использование туалетной бумаги. Попробуйте. В UIB, например, несколько Open подряд без Close - вообще штатная операция, когда надо выполнить несколько одинаковых запросов, с разными параметрами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 12:31 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
alekcvp Dimitry Sibiryakov Следующим логичным шагом будет повторное использование туалетной бумаги. Попробуйте. В UIB, например, несколько Open подряд без Close - вообще штатная операция, когда надо выполнить несколько одинаковых запросов, с разными параметрами. Да он какой-то обиженный. Не понятно, по какой причине прицепился к CLose и Open. Совершенно нормально и ПРАВИЛЬНО делать Close перед манипуляциями с компонентом доступа. Это рекомендация самих разработчиков. А в FireDac сделали вообще прикольно и синтаксического сахара подкинули. Теперь можно в одной строке сразу запустить запрос с параметрами, просто открыв запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 12:39 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений СтронгСовершенно нормально и ПРАВИЛЬНО делать Close перед манипуляциями с компонентом доступа. Это рекомендация самих разработчиков. А можно ссылку на эту рекомендацию? Так делают когда датасет привязан к гриду и прочей дб-авари. Но это явно не твой случай. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 12:59 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений СтронгСовершенно нормально и ПРАВИЛЬНО делать Close перед манипуляциями с компонентом доступа. Это рекомендация самих разработчиков. А можно ссылку на эту рекомендацию? Так делают когда датасет привязан к гриду и прочей дб-авари. Но это явно не твой случай. Да это вообще был пример. Я пробовал по-разному. Хотел избежать ошибки. Как решать проблему, с помощью компонентов, так и не понятно. Я уже давно всё переписал на прямой доступ без хранимой и забил на это. Как показывает практика - это и проще. Хранимки оправданы при крупных корпоративных решениях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 13:13 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений СтронгЯ пробовал по-разному. Хотел избежать ошибки. Как решать проблему, с помощью компонентов, так и не понятно. Открыть документацию по MySQL API чтобы выяснить когда такая ошибка может возникать не предлагать? Тогда остаётся только одно: перестать-таки повторно использовать компоненты, а для выполнения запросов использовать специальный метод TFDConneciton. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 13:16 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений СтронгЯ пробовал по-разному. Хотел избежать ошибки. Как решать проблему, с помощью компонентов, так и не понятно. Открыть документацию по MySQL API чтобы выяснить когда такая ошибка может возникать не предлагать? Тогда остаётся только одно: перестать-таки повторно использовать компоненты, а для выполнения запросов использовать специальный метод TFDConneciton. Читал документацию о том, что проблема возникает по причине того, что сервак не может отдать несколько запросов в рамках одного подключения. И там есть специальный метод IP, который сбрасывает коннект. А на стороне клиента получается надо будет передергивать коннект. Решение мягко скажем не хорошее. Тут постоянный идет выбор между MSSQL и MySQL. У меня по крайней мере. MSSQL нравится, но VPS дороговато выходит по сравнению с Linux. Поэтому и приходится использовать MySQL, но тут свои "грабли". В общем оптимальным получилось делать всё с помощью запросов из клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 13:28 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений Стронг Совершенно нормально и ПРАВИЛЬНО делать Close перед манипуляциями с компонентом доступа. Это рекомендация самих разработчиков. Евгений Стронг И там есть специальный метод IP, который сбрасывает коннект. Установите в свойствах подключения ResultMode: Store ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 13:47 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Установите в свойствах подключения ResultMode: Store ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 13:53 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Евгений Стронг Совершенно нормально и ПРАВИЛЬНО делать Close перед манипуляциями с компонентом доступа. Это рекомендация самих разработчиков. Евгений Стронг И там есть специальный метод IP, который сбрасывает коннект. Установите в свойствах подключения ResultMode: Store Спасибо. На будущее буду знать. Но постараюсь обходить хранимки стороной) По крайней мере на MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 13:53 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений Стронг Но постараюсь обходить хранимки стороной) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 13:54 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Евгений Стронг Совершенно нормально и ПРАВИЛЬНО делать Close перед манипуляциями с компонентом доступа. Это рекомендация самих разработчиков. Евгений Стронг И там есть специальный метод IP, который сбрасывает коннект. Установите в свойствах подключения ResultMode: Store Ты уже неоднократно давал хорошие рекомендации, быть может сможешь помочь мне в топике: https://www.sql.ru/forum/1324848/delphi-10-3-rio-android-podkluchenie-k-mysql Тут речь идет об подключении к MySQL из android устройства. Была рекомендация вполне рабочая - Datasnap, но это опять же сервер на Windows. Есть вариант использовать PHP, но вот именно как это технически организовать, не совсем ясно. Какие компоненты использовать, где сами скрипты хранить на сервере. И хранить ли их там или генерить на клиенте. Такие вот вопросы... Организационного характера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 13:57 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Евгений Стронг Но постараюсь обходить хранимки стороной) Твой ответ является решением моей проблемы. Но как его выделить как решение? Или это может только модератор сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 13:59 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений Стронг Но как его выделить как решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2020, 14:12 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ _Vasilisk_ Установите в свойствах подключения ResultMode: Store Мне сейчас потребовалось вновь запускать хранимки в MySQL и ошибка аналогичная. Параметра у меня по умолчанию стоит Store. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2020, 17:34 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений Стронг Параметра у меня по умолчанию стоит Store ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2020, 20:34 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Сначала: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/DBMS_Environment_Reports_(FireDAC) Потом все остальное ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2020, 20:36 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Евгений Стронг Параметра у меня по умолчанию стоит Store Приложил скрины, как у меня настроено подключение. При выполнении хранимки - ошибка. Если просто бы выполнил одно действие, то ошибки не будет. А вот когда выполняется после сразу второе, то ошибка. На примере запускается хранимка и далее получаю ответ от неё. На MSSQL она работала правильно. И там вообще не было аналогичных проблем. Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 10:27 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 10:27 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 10:27 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefiev Сначала: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/DBMS_Environment_Reports_(FireDAC) Потом все остальное ... Извиняюсь, но не понимаю, как это может мне помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 10:28 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений Стронг Извиняюсь, но не понимаю, как это может мне помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 12:01 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений СтронгНа MSSQL она работала правильно. У тебя есть выбор: 1. Вернуться на MS SQL. 2. Послушать-таки советов и перестать использовать компоненты повторно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 12:12 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
bk0010 Евгений Стронг Извиняюсь, но не понимаю, как это может мне помочь? Вот информация по подключению. Я выделил сообщение. Кажется в нем причина. То есть это получается проблема в настройках сервера? Что он не может обработать множественный запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 12:17 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений СтронгНа MSSQL она работала правильно. У тебя есть выбор: 1. Вернуться на MS SQL. 2. Послушать-таки советов и перестать использовать компоненты повторно. Что значит использовать компонент повторно? У меня 30 хранимых процедур, 20 из которых делают вставку, апдейт и модификацию. Ты предлагаешь на каждую процедуру использовать отдельный компонент? Это же полный бред! Или же их генерить и уничтожать после каждого вызова? Это аналогичный бред. Компонент используется прекрасно повторно, в котором очищается SQL и всё. Никаких проблем нет и быть не может. P.S. Проблему я свою решил и связана она с со старой версией библиотеки libmysql.dll, которая была 2011 года. Скачал новую (которую нашел) от 2016 года и всё заработало. Скачать можно тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 13:20 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений СтронгТы предлагаешь на каждую процедуру использовать отдельный компонент? Это же полный бред! То, что ты делаешь это бред. А отдельные компоненты с заданными в дизайн-тайм запросами это серьёзное облегчение отладки и сопровождения. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 13:26 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений Стронг P.S. Проблему я свою решил и связана она с со старой версией библиотеки libmysql.dll, которая была 2011 года. Скачал новую (которую нашел) от 2016 года и всё заработало. Скачать можно тут Не проще взять официальную от нужной версии, чем грузить с какого-то левого сайта?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 13:29 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений СтронгТы предлагаешь на каждую процедуру использовать отдельный компонент? Это же полный бред! То, что ты делаешь это бред. А отдельные компоненты с заданными в дизайн-тайм запросами это серьёзное облегчение отладки и сопровождения. Кроме огромного количества лишних строк кода я не вижу преимуществ, если честно. Каким образом это облегчит отладку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 13:37 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений СтронгКроме огромного количества лишних строк кода я не вижу преимуществ Какого кода? Компоненты создаются в дизайне, мышкой. Строк - ноль. Отладка облегчается, внезапно, устранением самой причины существования этого топика. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 13:44 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений СтронгКроме огромного количества лишних строк кода я не вижу преимуществ Какого кода? Компоненты создаются в дизайне, мышкой. Строк - ноль. Отладка облегчается, внезапно, устранением самой причины существования этого топика. Ну так у меня и есть созданный в дизайне один query, который в нужные моменты принимает SQL с параметрами и выполняется. Что не так то? А в сам SQL я передаю имя процедуры и входные параметры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 13:47 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений СтронгКроме огромного количества лишних строк кода я не вижу преимуществ Какого кода? Компоненты создаются в дизайне, мышкой. Строк - ноль. Отладка облегчается, внезапно, устранением самой причины существования этого топика. Вот код: Код: pascal 1. 2. Запустил процедуру и получил значение поля MESS. Какой ещё тут другой способ может быть, мне не понятно. Использование компонента для хранимок не было сознательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 13:48 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений СтронгЧто не так то? SQL тоже задаётся в дизайне. Кода - ноль. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 14:01 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Евгений СтронгЧто не так то? SQL тоже задаётся в дизайне. Кода - ноль. А если в базе 50 хранимок - 50 компонентов? В них не запутаешься нафиг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 14:22 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
alekcvpВ них не запутаешься нафиг? Можно было запутаться четверть века назад, когда ввели TDataModule и появилась тенденция все data access компоненты валить туда без разбора. Через некоторое время стало понятно, что в большинстве случаев это тупик и вменяемые люди вернулись к принципу "компоненты размещать по месту использования". Вряд ли у кого-то из одной формы используется сразу 50 хранимок. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 14:41 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Хм, я думал что дата модули предназначены для компонентов, которые используются из разных мест... во всяком случае у меня он содержит подключение к БД, запросы для справочников и пару функций для прямого выполнения SQL-запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 15:01 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
Евгений Стронг я не вижу преимуществ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 15:12 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
alekcvpя думал что дата модули предназначены для компонентов, которые используются из разных мест... Это да, но запросы к 50-ти процедурам к таковым вряд ли принадлежат. Хотя, конечно, это на архитекторе. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 15:13 |
|
||
|
Delphi Rio 10.3 FireDac MySQL Commands out of sync; you can't run this command now
|
|||
|---|---|---|---|
|
#18+
alekcvp Dimitry Sibiryakov пропущено... SQL тоже задаётся в дизайне. Кода - ноль. А если в базе 50 хранимок - 50 компонентов? В них не запутаешься нафиг? Прав ты совершенно. Дата модуль для того и предназначен. Накидал компонентов и обращаешься к нему. На постоянной основе разумно держать только компоненты для постоянного отображения данных в гриде. А все остальные операции по вставке, модификации и удалению делать через один единственный квери. И никогда не будет путаницы, всё красиво и не захламлено. Я для себя пришел к прекрасной модели: DataModule, в которой все компоненты доступа к БД и отдельный Unit со всеми процедурами. Можно вынести в dll, тут по желанию. И всё. Интерфейс должен быть только лишь "коробкой" из которой дергаются те или иные процедуры. Никакой логики в нем описано не должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 15:18 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038274]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
91ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 574ms |

| 0 / 0 |
