Решено. TZQuery не исполняет sql запросы или "лыжи не едут"

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

zi000000
новенький
Сообщения: 29
Зарегистрирован: 28.04.2016 18:55:49

Решено. TZQuery не исполняет sql запросы или "лыжи не едут"

Сообщение zi000000 »

Здравствуйте! Есть firebird база. Работаю с набором компонентов zeos.
Проблема. С TZTable я могу работать с базой, а вот TZQuery напрочь отказывается выполнять запросы. Простейший код при активации TZQuery вызывает ошибку, в которой говорится, что sql запрос не верный.

Код: Выделить всё

zquery_REG_INF_TABLE.Close;
zquery_REG_INF_TABLE.SQL.Clear;
zquery_REG_INF_TABLE.SQL.Add('SELECT * FROM REG_INF_TABLE');
zquery_REG_INF_TABLE.Open;

Иногда возникает ошибка SIGSEGV. Если активацию TZQuery сделать в IDE, то lazarus крашится без каких-либо сообщений.
База на firebird 2.5. Ошибка и на стабильном zeos и на тестовом. Надеюсь информации достаточно.
Последний раз редактировалось zi000000 30.04.2016 17:06:41, всего редактировалось 1 раз.
Аватара пользователя
Лекс Айрин
долгожитель
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград
Контактная информация:

Сообщение Лекс Айрин »

zi000000, я все правильно понял? Ты ЗАКРЫВАЕШЬ базу, а потом пытаешься к ней сделать запросы? По логике вещей ее следовало бы открыть.
zi000000
новенький
Сообщения: 29
Зарегистрирован: 28.04.2016 18:55:49

Сообщение zi000000 »

Лекс Айрин
Я закрываю запрос, формирую новый и активирую (выполняю) его.

Даже не беря во внимание код, если в инспекторе объектов у TZQuery задать sql: SELECT * FROM REG_NAME_TABLE и попытаться сделать TZQuery активным (Active := true), то IDE закроется без какой-либо ошибки. Ожидаемое действие: отображение в dbgrid записей таблицы. В то же время, если не делать его активным, а вызвать из меню компонента пункт "редактировать поля...", то будут отображены все названия полей таблицы.
Аватара пользователя
*Rik*
постоялец
Сообщения: 453
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал
Контактная информация:

Сообщение *Rik* »

Zeos по мне как то не очень, слабоват.. А почему Вы именно его решили использовать?
Если когда-нибудь пользовались FIBPlus, можете попробовать это http://visual-t.ru/ibexpress.html.
zi000000
новенький
Сообщения: 29
Зарегистрирован: 28.04.2016 18:55:49

Сообщение zi000000 »

*Rik*
Zeos для моих задач достаточно.

Может кто-нибудь подтвердить или опровергнуть описанное поведение?
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

слабоват он скорее со своими причудами...
А чем вас стандартный набор не устроил?

п.с.
Надеюсь информации достаточно.
полный нуль. Версия лазаря (вроде в подписи но странная какая то), версия фпс, исходники (т.е. тестовый пример).
А так - попробуйте к гадалке сходить. Может она угадает в чем проблема...

По идее:
1 - ваша база
2 - порт
3 - логин/пароль
4 - транзакцию
5 - попробовать законектиться
это ZConnection
ну и ZQuery
1 - указать ZConnection
2 - запрос
3 - конект.
И оно конектиться... Хоть в винде, хоть в лине. Правда лазарь и фпс транковый. Зеос - 7.2.1-rc
zi000000
новенький
Сообщения: 29
Зарегистрирован: 28.04.2016 18:55:49

Сообщение zi000000 »

pupsik писал(а):А чем вас стандартный набор не устроил?

Давайте поговорим всё же про zeos. И решим проблема только у меня или нет.
pupsik писал(а):полный нуль... По идее...

pupsik писал(а):И оно конектиться...

Речь не о том, коннектится или нет. Читайте внимательно.
pupsik писал(а):А так - попробуйте к гадалке сходить. Может она угадает в чем проблема...

На форум пришёл, но пока одна из гадалок не по существу разговоры разговаривает.

По поводу примера. Он делается за 5 минут. Вот с коннектом Вы уже разобрались и у Вас есть подключение, теперь настройте TZQuery, задайте ему sql описанный в первом посте и активируйте свойство Activate. Если lazarus переживёт это действие, то Вы меня осчастливите (перейду на транк). Если упадет, то будем искать причину.

По поводу версии.. стабильная 1.6
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Читайте внимательно.
.... А я вам описал действия - стандартные.
По поводу примера... и т.д...
Вы покажите ваш исходник, а потом уж далее треп....
Или вы считаете что я отписался не проверив варианты?

п.с.
Я не гадалка что бы сказать что вы делали и как у себя... У меня работает.
Давайте поговорим всё же про zeos.
у этого компонента форум есть :wink:
zi000000
новенький
Сообщения: 29
Зарегистрирован: 28.04.2016 18:55:49

Сообщение zi000000 »

pupsik
Хм.. Работает. Поищу у себя проблему. Про форум я в курсе, читал и если не найду причину такого поведения, буду писать туда. Спасибо.
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

zi000000 вполне возможно вы что то упустили когда устанавливали св-ва. Вот и эксепшин выскакивал.

п.с.
Кто его знает что у вас там произошло. Но все мои попытки "выкинуть" лазаря в даун с помощью зеос были безуспешны...
Если будете на форум писать то и пример прикрепите...
Хотя я более чем уверен - что то вы что-то не учли.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

zeos работает норм.
zi000000
новенький
Сообщения: 29
Зарегистрирован: 28.04.2016 18:55:49

Сообщение zi000000 »

alexspupsik
Спасибо.

Выходит, что всё же "лыжи..." Укажите, пожалуйста мне на ошибку.
Вот пример: https://cloud.mail.ru/public/MU5o/mtgJFFnoY
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

По поводу кода:

ZConnection1.Connected := False;
....
ZConnection1.Connected := true;

По поводу datasource и mastersource в ZQuery1... Привязка к датасоурс??? Т.е. уберите DataSource1 из ZQuery1.
Не проверял: может ли зеос из ИДЕ подгружать длл...

Возможно это и есть "лыжи".
zi000000
новенький
Сообщения: 29
Зарегистрирован: 28.04.2016 18:55:49

Сообщение zi000000 »

Да, поторопился.
В любом случае он в примере
ZConnection1.Connected := true;


По поводу datasource

Разве DataSource не должен связать ZQuery и грид?
Как без него? :roll:

Добавлено спустя 2 минуты 30 секунд:
Re: ZEOS. TZQuery не исполняет sql запросы или "лыжи не едут..."
mastersource ошибочно выставлен в примере, в основном проекте его нет

Добавлено спустя 19 минут 14 секунд:
Re: ZEOS. TZQuery не исполняет sql запросы или "лыжи не едут..."
pupsik
Т.е. уберите DataSource1 из ZQuery1

А Вы правы! Спасибо! Посыпаю голову пеплом... DataSource не нужен. Без него заработало ожидаемым образом. Есть документация по zeos? На сайте разработчика ссылки на документацию мёртвые.

Добавлено спустя 35 секунд:
Re: ZEOS. TZQuery не исполняет sql запросы или "лыжи не едут..."
В итоге
лыжи
:)
pupsik
энтузиаст
Сообщения: 1154
Зарегистрирован: 20.08.2014 16:20:13
Контактная информация:

Сообщение pupsik »

Те св-ва в запросе иного назначения.

п.с.
Нашлись "лыжи" ? :)

Добавлено спустя 1 минуту 31 секунду:
Re: ZEOS. TZQuery не исполняет sql запросы или "лыжи не едут..."
В любом случае он в примере
в коде вы меняете св-ва. Их меняют при закрытом коннекте.
Ответить