Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / В Lazarus TSQLQuery.Edit не работает для хранимой процедуры / 4 сообщений из 4, страница 1 из 1
12.05.2021, 17:49
    #40069734
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Lazarus TSQLQuery.Edit не работает для хранимой процедуры
Lazarus 2.0.12

В TSQLQuery задан вызов хранимой процедуры через exec. Нужно редактировать её резалтсет. Для этого заданы InsertSQL, UpdateSQL, DeleteSQL. ParseSQL установлен в false. Но TSQLQuery.Edit говорит, что Dataset is read-only.

Не хочу разделять запрос на выполнение процедуры во временную таблицу и редактирование этой таблицы. Можно переопределить GetCanModify, но более простой костыль таков:
Код: pascal
1.
2.
3.
type TSQLQueryHack = class ( TSQLQuery ) ;

TSQLQueryHack ( SQLQuery1 ).Cursor.FStatementType := stSelect ;



Есть ли другое решение?
...
Рейтинг: 0 / 0
13.05.2021, 08:27
    #40069850
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Lazarus TSQLQuery.Edit не работает для хранимой процедуры
СУБД какая?
...
Рейтинг: 0 / 0
13.05.2021, 10:36
    #40069899
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Lazarus TSQLQuery.Edit не работает для хранимой процедуры
mssql
...
Рейтинг: 0 / 0
13.05.2021, 11:48
    #40069935
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Lazarus TSQLQuery.Edit не работает для хранимой процедуры
Чтобы квери была живой, в ней должен быть первичный ключ редактируемой таблицы со своим реальным именем.

Еще можно в датасете указать редактируемую таблицу и ключевое поле.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / В Lazarus TSQLQuery.Edit не работает для хранимой процедуры / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]