Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
 Re: Lazarus + IBX  [new]
dedRasta
Member

Откуда:
Сообщений: 138
wadman
dedRasta,
https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/rx/trunk/

Спасибо!
Уже скачал отсюда
Это одно и тоже?
25 апр 19, 16:13    [21871838]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
dedRasta
Member

Откуда:
Сообщений: 138
-Rik-
Попробуйте RefreshSQL заполнить.


Yes! Все работает.

Большое спасибо. Посыпаю лысую голову пеплом и прочими субстанциями.
25 апр 19, 16:35    [21871861]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
dedRasta
Member

Откуда:
Сообщений: 138
При переходе на Lazarus с IBX (http://visual-t.ru) столкнулся с проблемой: запросы select в TIBDataset, которые в Delphi с FIBPlus работают нормально, стали выдавать ошибку "multiple rows in singleton select".

Оказалось, что все эти запросы используют execute block:
+
execute block 
returns (
  wp_name varchar(50)
)
as
begin
   for Select 
    t_workplace.workplace_name
  from t_workplace
  where t_workplace.workplace_id in (3, 4)
  into :wp_name
  do 
    suspend;
end


Запрос сам по себе, конечно, никакой ошибки не выдает:
+
Select 
    t_workplace.workplace_name
  from t_workplace
  where t_workplace.workplace_id in (3, 4)
25 июн 19, 14:38    [21914934]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
Василий 2
Member

Откуда:
Сообщений: 614
А нафиг там EB? Заменить на select и все.
Датасет почему-то ожидает там единственную строку. Почему - хз.
25 июн 19, 15:00    [21914956]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
dedRasta
Member

Откуда:
Сообщений: 138
Заменить на select
Дык! Именно этим и занимаюсь, но запросов этих много.
Только переделываю ExB в SP и select делаю из SP, потому как сделанное в ExB впихнуть в select бывает непросто.
25 июн 19, 20:45    [21915169]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
Василий 2
Member

Откуда:
Сообщений: 614
Возможно, недоработка в компоненте, и EB воспринимается как выполнение хранимки.
26 июн 19, 10:47    [21915391]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
dedRasta
Member

Откуда:
Сообщений: 138
(тихо, самому себе: Курить маны до просветления! ...!!! :/):

http://visual-t.ru/ibexpress.html

"Компоненты могут принять только одну строку с возвращаемыми параметрами, если запрос из EXECUTE BLOCK возвращает более одной строки, возникает исключение.
26 июн 19, 11:21    [21915427]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
Док
Member

Откуда: Казань
Сообщений: 6217
dedRasta
тихо, самому себе: Курить маны до просветления!

попробуй сравнить с оригиналом, скорее всего ноги оттуда растут.

зы. можно было бы пообщаться с разработчиком и напрямую, но, к сожалению, лазарусовский форум лежит со вчерашнего дня.
26 июн 19, 14:13    [21915579]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
-Rik-
Member

Откуда: Урал
Сообщений: 188
Внес изменения. Можете попробовать обновиться.

Если EXECUTE BLOCK требуется использовать для получения набора данных, то для TIBSQL в котором используется запрос, нужно установить TIBSQL.SelectOnBlock := True, в TIBDataSet для QSelect и QRefresh свойство SelectOnBlock установлено в True по умолчанию, поэтому для TIBDataSet в SelectSQL EXECUTE BLOCK может возвращать любое количество записей.
27 июн 19, 12:54    [21916128]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
dedRasta
Member

Откуда:
Сообщений: 138
-Rik-
Внес изменения. Можете попробовать обновиться.
Здорово! Все работает. Большое спасибо, а то больно много запросов пришлось бы переделывать.
27 июн 19, 19:54    [21916597]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
dedRasta
Member

Откуда:
Сообщений: 138
По поводу использования Execute Block в IBDataSet. Столкнулся с таким нюансом: закомментировал входные параметры и запрос стал выдавать ошибку 'Unknown SQL Type':
execute block 
--(
--    GOD integer = :GOD,
--    KWARTAL integer = :KWARTAL,
--    DT integer = :DT
--)

Если удалить закомментированные строчки - работает нормально.

Firebird 2.5.9
Lazarus 2.0.2
Windows 7 SP1
17 июл 19, 14:00    [21928559]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
-Rik-
Member

Откуда: Урал
Сообщений: 188
dedRasta
По поводу использования Execute Block в IBDataSet. Столкнулся с таким нюансом: закомментировал входные параметры и запрос стал выдавать ошибку 'Unknown SQL Type':
execute block 
--(
--    GOD integer = :GOD,
--    KWARTAL integer = :KWARTAL,
--    DT integer = :DT
--)

Если удалить закомментированные строчки - работает нормально.

Firebird 2.5.9
Lazarus 2.0.2
Windows 7 SP1

У TIBSQL есть процедура PreprocessSQL, она параметры ищет, если закоментировать через --, то она все равно чето находит что в комментарии есть. Я исправил, пока обновление выложить не могу, выложу позже.
17 июл 19, 14:45    [21928617]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
-Rik-
Member

Откуда: Урал
Сообщений: 188
-Rik-
dedRasta
По поводу использования Execute Block в IBDataSet. Столкнулся с таким нюансом: закомментировал входные параметры и запрос стал выдавать ошибку 'Unknown SQL Type':
execute block 
--(
--    GOD integer = :GOD,
--    KWARTAL integer = :KWARTAL,
--    DT integer = :DT
--)

Если удалить закомментированные строчки - работает нормально.

Firebird 2.5.9
Lazarus 2.0.2
Windows 7 SP1

У TIBSQL есть процедура PreprocessSQL, она параметры ищет, если закоментировать через --, то она все равно чето находит что в комментарии есть. Я исправил, пока обновление выложить не могу, выложу позже.

Выложил исправленную версию, можете попробовать...
18 июл 19, 07:08    [21929054]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
Док
Member

Откуда: Казань
Сообщений: 6217
-Rik-
Выложил исправленную версию

Юр, может положишь исходники куда-нибудь на гитхаб? А то у тебя названия архивов "зимой и летом - одним цветом" :)
18 июл 19, 11:08    [21929203]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
-Rik-
Member

Откуда: Урал
Сообщений: 188
Док
-Rik-
Выложил исправленную версию

Юр, может положишь исходники куда-нибудь на гитхаб? А то у тебя названия архивов "зимой и летом - одним цветом" :)

:)
Попробую, как руки дойдут, пока некогда и неохота..
18 июл 19, 11:12    [21929212]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus + IBX  [new]
dedRasta
Member

Откуда:
Сообщений: 138
-Rik-
Выложил исправленную версию, можете попробовать...
Спасибо, работает.
вчера, 15:22    [21930354]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
Все форумы / Delphi Ответить