забрать на клиент запись из одной таблицы и выборку из другой связанной один-ко-многим, отредактировать в дбгриде и выгрузить обратно в базу.
Опять порнография)))
совершенно невинное желание, как по мне если б не необходимость автономной работы, нечего было бы и придумывать — кинуть два датасета на форму и связать через DataSource
Должны всё, если они реализуют все методы TDataset.
Тока обычно, это делают вложенными НД. TClientDataset в Delphi такое делает на раз-два.
а вложенный набор это что? я не узнал термин
Nested Dataset
Для вывода может и более менее, но для редакции
Это можно сделать ручками, например, двумя TMemDataset.
Вроде на DataSource.OnChange )
Если наборы данных приходят с сервера приложений, то оперировать двумя сущностями не красиво. В том смысле,ичто приходить они должны одним запросом. А на клиенте, по любому будет лежать 2 компонента.
В смысле? Мастер и деталь одним запросом с сервера? 😳
как одним запросом? Если detail вообще из другой таблицы
Да. Вообще то так и делается. Когда гоняется XML, json etc. @KalinaSviridova
Лёш, мемдатасеты для меня в последней год вообще стали открытием по скорости и автономности работы с ними. Все эти "отредактировать и сохранить в гриде" становятся плевым делом. Изменения в БД можно засылать одним dml-запросом одновременно с правкой мемтаблей на клиенте. Ну, или обновлять мемтабли новыми запросами после коммита своих изменений
Имхо, чем проще - тем лучше. А вообще, интересно было бы узнать у ТС, как он данные с сервера фетчит
Вот именно одним запросом и проще.
Я не говорю о Client-Server. Я говорю о серверах приложений, AKA Multitier.
не хватает слоя в мемтабле что бы это делал автоматом как-то с бд, было бы прям хорошо
Ну вот Borland в свое время MIDAS и выкатила, как раз для этого. На клиенте только clientdataset все в памяти. Сервер сам все раскидывает. Сейчас забылось/не модно/переизобретено.
Обсуждают сегодня