|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
||||||
UniDAC (mysql) построение запроса16.12.2015, 11:26. Показов 4253. Ответов 29
Метки нет (Все метки)
Есть проблема с удаленной базой. Периодически выполнение запроса приводит к ошибке типа нет такого поля. С локальной базой такая проблема не возникает.
С базой везде работаю так:
UniQuery1.Close; UniQuery1.SQL.Clear; перед каждым новым запросом? И какая разница между UniQuery1.SQL.Text и UniQuery1.SQL.Add?
0
|
||||||
| 16.12.2015, 11:26 | |
|
Ответы с готовыми решениями:
29
Delphi XE + UniDac + Mysql
UniDac MySQL + потоки = access violation |
|
|
|
| 16.12.2015, 12:02 | |
|
в приведенном примере вообще нет особого смысла пользоваться параметрическим запросом
выигрыш - чтобы сервер не тратил время на подготовку (prepare) запроса, а только подставлял параметры если каждый раз текст запроса меняется, то prepare идет тоже заново в таком случае проще сделать query.SQL.text := format('sql запрос прямо тут', []); query.Open; без всяких ParamByName SQL.text - заменяет весь текст в TStrings SQL.Add - добавляет строку к TStrings
1
|
|
|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
|||||||||||
| 16.12.2015, 13:00 [ТС] | |||||||||||
|
спасибо! все по делу.
А не подскажите как заэкранировать ' сделал так:
Добавлено через 11 минут
0
|
|||||||||||
|
|
||||||
| 16.12.2015, 13:14 | ||||||
1
|
||||||
|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
||||||
| 16.12.2015, 13:39 [ТС] | ||||||
|
krapotkin
вот спасибо! век живи век учись! сейчас попробую Все работает. Но периодически при работе с удаленной базой выходит что в запросе нет такого поля
обязательно ли делать UniQuery1.Close после того как было выполнено UniQuery1.open? и нужно ли делать UniQuery1.SQL.Clear при формировании нового запроса?
0
|
||||||
|
|
||||||
| 16.12.2015, 14:29 | ||||||
|
SQL.Clear === SQL.Text :=''
соответственно, если заполняется text, не нужно про Count что-то нечисто. так не бывает попробуйте явно поименовать поле
0
|
||||||
|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
|
| 16.12.2015, 14:50 [ТС] | |
|
krapotkin
тоже самое но нет поля С теперь говорит. не пойму в чем дело. На локальном сервере бд такого не замечаю. Версии мускула одинаковы что удаленный что локальный сервер.
0
|
|
|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
|
| 17.12.2015, 08:55 [ТС] | |
|
Да есть один dbgrid на другой форме, но она не активна.
К стати когда эта форма активна, то периодически бывают ошибки как на первой так и на второй форме. Неужели надо разные запросы использовать? На каждою форму свой Query?
0
|
|
|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
|
| 17.12.2015, 09:13 [ТС] | |
|
Сейчас организационно все так:
Основная форма -> меню -> подключение к базе -> диалог айпи, порт, логин, пароль -> создается Connection с событием при потере соединения восстановить его. Потом много форм, где просто использую Query. Раньше в каждой форме были свои Query, сейчас я вынес их на не визуальную форму. qwertehok, Вы предлагаете закрывать соединение после каждого обращения к базе?
0
|
|
|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
|
| 17.12.2015, 11:15 [ТС] | |
|
а если запрос в цикле с 1000 и больше итераций не слишком часто открыть -закрыть будет? Конечно можно закрыть и после цикла, но тогда все внутри одной функции не получится сделать.
То есть держать соединение всегда в открытом состоянии нельзя?
0
|
|
|
|
|
| 17.12.2015, 12:09 | |
|
все очень индивидуально и зависит от задачи, от сервера, и от комплекта компонентов доступа
в Firebird+FibPlus например, это решалось наличием длинной чисто читающей транзакции для вывода на экран и короткой пишущей, автоматически подключающейся для модификации данных, при этом компоненты предусматривали refresh измененной записи, иначе изменения не отображались на экране как там в UniXXX я не знаю... 1000 запросов это точно перебор лучше создать один и 1000 условий в нем
0
|
|
|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
|
| 17.12.2015, 13:30 [ТС] | |
|
запросы оптимизировал...
почему все таки иногда запрос вызывает ошибку в виде не наличия поля, либо не возвращает данных?
0
|
|
|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
||||||
| 17.12.2015, 13:42 [ТС] | ||||||
|
запрос всегда один и тот же
0
|
||||||
|
1 / 1 / 1
Регистрация: 04.06.2013
Сообщений: 75
|
|
| 17.12.2015, 13:51 [ТС] | |
|
mySQL
0
|
|
| 17.12.2015, 13:51 | |
|
Помогаю со студенческими работами здесь
20
Построение запроса Ошибка при отправке запроса MySQL через JDBC MySQL connector Построение запроса Построение запроса Построение запроса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|