powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
9 сообщений из 9, страница 1 из 1
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
    #35591141
Thistle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.
Недавно перешел с ADO на ADO.NET.
Использование CommandBuilder понятно, он позволяет генерировать Insert, Delete и Update команды только для DataTable, полученных запросом из одной таблицы.
Однако, очень часто приходится отображать запрос из нескольких таблиц, НО при этом позволять редактировать только данные одной таблицы запроса (ключевой). Напимер есть две таблицы:

Таблица Сотрудники:
ИДСотрудника
ИмяСотрудника
ИДДолжности

Таблица Должности:
ИДДолжности
НазваниеДолжности

Наполняю DataTable в DataSet следующим запросом:
select с.ИДСотрудника, с.ИмяСотрудника, с.ИДДолжности, д.НазваниеДолжности
from Сотрудники с inner join Должности д on с.ИДДолжности = д.ИДДолжности

в гриде отображаю ИмяСотрудника, НазваниеДолжности. ИмяСотрудника редактируется в самом гриде, ИДДолжности редактируется посредством вызова другой формы, выбора в ней должности и, соответственно, изменения значения столбца ИДДолжности, который не отображается в гриде.

Таким образом, при сохранении данных мне необходимо обновить только таблицу Сотрудники на сервере, ни коем образом не затрагивая таблицу должностей.

Как можно сгенерировать Insert, Delete и Update команды датаадаптера? в ADO такая возможность была, вот в ADO.NET не могу найти как это сделать кроме как написать эти команды руками, что несколько неприемлимо в моем случае, создавать несколько таблиц в датасете и настраивать отношения между ними тоже очень неудобно. Может тут может помочь TableMappings?
...
Рейтинг: 0 / 0
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
    #35591411
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Много слов.

ThistleПередача на сервер данных из DataTable как результата запроса из нескольких таблиц

Название сервера нужно угадать?
...
Рейтинг: 0 / 0
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
    #35591634
Thistle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Причем здесь название сервера?
...
Рейтинг: 0 / 0
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
    #35591688
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThistleПричем здесь название сервера?

ThistleПередача на сервер данных из DataTable

А при том, SQL-сервер не может работать с DataTable. В качесте аргумента передаются разные типы (Xml, Text, String и т.д.) в ту же хранимую процедуру.
...
Рейтинг: 0 / 0
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
    #35591726
Thistle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока СУБД две: MS SQL Server и FireBird
...
Рейтинг: 0 / 0
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
    #35591814
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThistleПока СУБД две: MS SQL Server и FireBird
Что мешает наборы данных передавать в xml?
...
Рейтинг: 0 / 0
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
    #35591832
Паттерныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ThistleПока СУБД две: MS SQL Server и FireBird

что будут и ещё?
...
Рейтинг: 0 / 0
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
    #35593161
Thistle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно кому-нибудь будет интересно решение данной проблемы.
Выяснил, что стандартными средствами такое сделать вроде бы как нельзя. Но можно "обамануть" подложив сначала вместо запроса с джойнами запрос вроде select * from table из таблицы, которую надо менять, затем создав CommandBuilder, заменить запрос на требуемый, заполнить датаадаптер и присвоить Insert, Update и Delete команды из созданного ранее построителя.
...
Рейтинг: 0 / 0
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
    #35593192
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЧто мешает наборы данных передавать в xml?a525
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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