|
|
|
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток. Недавно перешел с ADO на ADO.NET. Использование CommandBuilder понятно, он позволяет генерировать Insert, Delete и Update команды только для DataTable, полученных запросом из одной таблицы. Однако, очень часто приходится отображать запрос из нескольких таблиц, НО при этом позволять редактировать только данные одной таблицы запроса (ключевой). Напимер есть две таблицы: Таблица Сотрудники: ИДСотрудника ИмяСотрудника ИДДолжности Таблица Должности: ИДДолжности НазваниеДолжности Наполняю DataTable в DataSet следующим запросом: select с.ИДСотрудника, с.ИмяСотрудника, с.ИДДолжности, д.НазваниеДолжности from Сотрудники с inner join Должности д on с.ИДДолжности = д.ИДДолжности в гриде отображаю ИмяСотрудника, НазваниеДолжности. ИмяСотрудника редактируется в самом гриде, ИДДолжности редактируется посредством вызова другой формы, выбора в ней должности и, соответственно, изменения значения столбца ИДДолжности, который не отображается в гриде. Таким образом, при сохранении данных мне необходимо обновить только таблицу Сотрудники на сервере, ни коем образом не затрагивая таблицу должностей. Как можно сгенерировать Insert, Delete и Update команды датаадаптера? в ADO такая возможность была, вот в ADO.NET не могу найти как это сделать кроме как написать эти команды руками, что несколько неприемлимо в моем случае, создавать несколько таблиц в датасете и настраивать отношения между ними тоже очень неудобно. Может тут может помочь TableMappings? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 13:26 |
|
||
|
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Много слов. ThistleПередача на сервер данных из DataTable как результата запроса из нескольких таблиц Название сервера нужно угадать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 14:59 |
|
||
|
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Причем здесь название сервера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 16:06 |
|
||
|
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
ThistleПричем здесь название сервера? ThistleПередача на сервер данных из DataTable А при том, SQL-сервер не может работать с DataTable. В качесте аргумента передаются разные типы (Xml, Text, String и т.д.) в ту же хранимую процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 16:19 |
|
||
|
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Пока СУБД две: MS SQL Server и FireBird ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 16:35 |
|
||
|
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
ThistleПока СУБД две: MS SQL Server и FireBird Что мешает наборы данных передавать в xml? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 17:07 |
|
||
|
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
ThistleПока СУБД две: MS SQL Server и FireBird что будут и ещё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 17:14 |
|
||
|
Передача на сервер данных из DataTable как результата запроса из нескольких таблиц
|
|||
|---|---|---|---|
|
#18+
Возможно кому-нибудь будет интересно решение данной проблемы. Выяснил, что стандартными средствами такое сделать вроде бы как нельзя. Но можно "обамануть" подложив сначала вместо запроса с джойнами запрос вроде select * from table из таблицы, которую надо менять, затем создав CommandBuilder, заменить запрос на требуемый, заполнить датаадаптер и присвоить Insert, Update и Delete команды из созданного ранее построителя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2008, 12:47 |
|
||
|
|

start [/forum/topic.php?fid=17&msg=35591832&tid=1352113]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 388ms |

| 0 / 0 |
