Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу / 13 сообщений из 13, страница 1 из 1
27.06.2019, 14:08
    #39831164
m830
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
На форме помещен Grid, DataSet которого ADOStoredProc. Процедура выносит командой Select совокупность полей из нескольких связанных таблиц MS SQL. Если исправить значение поля в Grid, то каким-то образом правится соответствующее поле таблицы, из которой оно взято. Как уберечь БД от несанкционированных исправлений, если режим редактирования Grid включен для возможности копирования значений полей из Grid
...
Рейтинг: 0 / 0
27.06.2019, 14:19
    #39831167
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
m830,

ReadOnly:=True
...
Рейтинг: 0 / 0
27.06.2019, 15:03
    #39831196
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
Чтобы НД, полученный как результат хранимки, объединяющей несколько таблиц, был редактируемым? Да еще и из коробки? Ой не верится чёй-та
...
Рейтинг: 0 / 0
27.06.2019, 15:31
    #39831212
m830
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
Василий 2,

Delphi XE3, скачан в инете, но дела не меняет
Но как по хранимке Delphi определяет таблицу?
ADOConection определяет сервер, БД.
Хранимка определяет имя поля (или его псевдоним)
А дальше нужно пытаться найти такое имя в sysobject БД.
Причем, видимо, парсится текст хранимки и в нем находятся нужные таблицы и поля,
так как успешно правятся поля таблиц, которые выносятся по псевдониму
...
Рейтинг: 0 / 0
27.06.2019, 15:33
    #39831215
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
m830Но как по хранимке Delphi определяет таблицу?
Никак.
...
Рейтинг: 0 / 0
27.06.2019, 15:33
    #39831216
m830
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
m830,

Правда, правку вычисляемых выносов не пробовал
...
Рейтинг: 0 / 0
27.06.2019, 15:54
    #39831238
m830
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
DimaBr,

А как же умудряется правит?
...
Рейтинг: 0 / 0
27.06.2019, 15:55
    #39831239
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
Я тоже не верю. Насколько мне известно, компоненты ADO не умеют автоматом генерить UpdateSQL.
...
Рейтинг: 0 / 0
27.06.2019, 16:26
    #39831266
m830
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
Квейд,

Попробуй сам.
...
Рейтинг: 0 / 0
27.06.2019, 18:29
    #39831341
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
Василий 2Чтобы НД, полученный как результат хранимки, объединяющей несколько таблиц, был редактируемым? Да еще и из коробки? Ой не верится чёй-таНу почему? В МССиквеле есть редактируемые вьюшки ( https://docs.microsoft.com/ru-ru/sql/t-sql/statements/create-view-transact-sql?view=sql-server-2017)
...
Рейтинг: 0 / 0
27.06.2019, 20:45
    #39831394
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
m830DimaBr,
А как же умудряется правит?
Delphi никак не правит, она лишь даёт команду, что пользователь изменил значение в текущей строке. Запрос на изменение формируется в недрах ADO, доступа к которым у нас нет
...
Рейтинг: 0 / 0
27.06.2019, 21:44
    #39831411
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
GatorВасилий 2Чтобы НД, полученный как результат хранимки, объединяющей несколько таблиц, был редактируемым? Да еще и из коробки? Ой не верится чёй-таНу почему? В МССиквеле есть редактируемые вьюшки ( https://docs.microsoft.com/ru-ru/sql/t-sql/statements/create-view-transact-sql?view=sql-server-2017)
То вьюшки. А то хранимки.
Не, в теории конечно ничто не мешает СУБД возвращать редактируемый НД от хранимки, но это уже магия какая-то, чесслово
...
Рейтинг: 0 / 0
28.06.2019, 01:37
    #39831433
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу
Василий 2, никакая не магия. Профайлер что говорит? А что говорит план исполнения SP?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Каким образом Grid, DataSet у которого ADOStoredProc, правит исходную таблицу / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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