![]() |
|
Модераторы: gambit |
![]()
|
|
| FYoung |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 5.11.2006 Репутация: нет Всего: нет |
При заполнении датасета данные берутся из нескольких таблиц. Для внесения изменений использую метод Update у датаадаптера, также для автоматического формирования команд создал SqlCommandBuilder и ему указал созданный датаадаптер. При попытке вставить, удалить или обновить данные возникает ошибка: Dynamic SQL generation is not supported against multiple base tables.
Во всех таблицах присутствует первичный ключ. Подскажите как работать с несколькими таблицами? З.Ы. Если в запросе учавствует одна таблица то все нормально работает. |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 4 Всего: 149 |
FYoung, нужно вручную заполнить запросы UpdateCommand, InsertCommand, DeleteCommand адаптера.
|
|||
|
||||
| FYoung |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 5.11.2006 Репутация: нет Всего: нет |
А можно пару примеров, получается надо отслеживать какие строки были изменены, добавлены или удалены. А как это сделать?
|
|||
|
||||
| v00d00 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
Столкнулся с такой-же проблемой, пожалуйста приведите пару примеров
|
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 4 Всего: 149 |
v00d00, структуру таблиц, и SQL датаАдаптера в студию
|
|||
|
||||
| v00d00 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
SQL:
С базами работал только на Delphi через ADOQuery все было достаточно просто, а тут совсем другой подход... Литературы бы.. Присоединённый файл ( Кол-во скачиваний: 18 )
schema.JPG 26,41 Kb |
||||
|
|||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
v00d00,
У тебя ошибочка в этом месте
Не могут ID двух разных таблиц иметь такую связь какую ты показал на схеме. В таблице Tasks не хватает поля DescriptionID для обеспечения связи с таблицей Description. Вместо литературы. Это сообщение отредактировал(а) thomas - 25.6.2007, 19:32 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| thomas |
|
||||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
v00d00,
Ну и запрос будет соответствующий
или так
А обновлять я так понимаю нужно только таблицу в детальными строками т.е. Tasks. Потому как типы и описания не меняются. Соответственно либо пишешь сам команды INSERT, DELETE, UPDATE либо просишь CommandBuilder сделать это за тебя. Но тут есть одна засада. Последний sql запрос должен быть чисто к таблице Tasks. (например такой select * from Tasks) Тогда Builder сможет сгенерить команду, а если последний запрос был как приведенные выше, то получишь исключение как описано в первом посте этой темы. Это сообщение отредактировал(а) thomas - 25.6.2007, 19:57 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
||||
|
|||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 35 Всего: 65 |
FYoung,
Ты сам ответил на свой вопрос
Обмани Builder, пропиши последний sql-запрос к одной таблице(которую и будешь обновлять) и тогда Builder сгенерит запрос, а так он не может генерить запросы со связями. (я так думаю -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |