2 / 2 / 0
Регистрация: 14.09.2014
Сообщений: 82
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Ошибка с view С# и базы данных SQL Server05.04.2016, 21:33. Показов 4289. Ответов 7
Метки нет (Все метки)
ПОчему нельзя менять что-то в представлении???
У меня есть таблица тренеров в sql, в ней участвует айди специализации, надо вьюшкой вывести таблицу тренеров, где вместо айди специализации название.
Невозможно обновить представление или функцию "TrainerTable", так как изменение влияет на несколько базовых таблиц.
Причем таблица выводится корректно, вот так:
0
|
05.04.2016, 21:33 | |
Ответы с готовыми решениями:
7
Ошибка при выводе данных из базы MS SQL Server Ошибка создания базы данных в MS SQL server 2005 Ошибка при восстановлении базы данных SQL Server 6.5 |
79 / 102 / 44
Регистрация: 12.05.2015
Сообщений: 476
|
|
06.04.2016, 02:18 | 2 |
Kris123, у вас немного не правильный подход. Представление (view) само не содержит каких-либо данных, суть его запрос который возвращает данные в более удобном для чтения виде, в вашем случае объединяет две таблицы. Соответственно, данные необходимо менять в базовых таблицах, а потом делать опять запрос на получение вьюхи, чтобы получить обновленные данные.
Я бы сделал таким образом. У вас есть базовая таблица [Trainer] и по сути справочник к этой таблице [Specialization]. На форме я добавил бы, допустим, кнопку "Добавить/изменить специализацию" и вызывал бы форму в которой мог бы редактировать эти данные. И вторую кнопку "Добавить/изменить тренера", там бы уже редактировал в соответствующей таблице данные. И после добавления или изменения тренера, просто бы обновлял DataSet и получал свежие данные по тренерам. Ну или использовать хранимые процедуры.
0
|
2 / 2 / 0
Регистрация: 14.09.2014
Сообщений: 82
|
|
06.04.2016, 15:37 [ТС] | 3 |
Как вы предлагаете не получится, я так делаю с таблицами, где нет FK, но в таблице Trainer есть, мне надо чтобы выводилось не ID специальности, а название специальности и изменять чтобы у тренеров я могла....
0
|
Модератор
4215 / 3056 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
06.04.2016, 15:48 | 4 |
0
|
2 / 2 / 0
Регистрация: 14.09.2014
Сообщений: 82
|
|
06.04.2016, 16:17 [ТС] | 5 |
я делала триггер-но это же просто ограничение.
я не понимаю как мне добавлять или изменять таблицу TrainerTable,ведь это представление.
0
|
Модератор
4215 / 3056 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
06.04.2016, 16:34 | 6 |
Триггер - это не ограничение, это процедура, запускаемая при каком-то событии (например, при INSERT или UPDATE в таблицу). INSTEAD OF триггера вешаются на представление, чтобы заменить операцию (тот же UPDATE) для представления на операции к конкретным таблицам.
1
|
1643 / 1144 / 171
Регистрация: 23.07.2010
Сообщений: 6,793
|
|
06.04.2016, 16:48 | 7 |
0
|
2 / 2 / 0
Регистрация: 14.09.2014
Сообщений: 82
|
|
06.04.2016, 20:22 [ТС] | 8 |
Всем спасибо, разобралась
0
|
06.04.2016, 20:22 | |
06.04.2016, 20:22 | |
Помогаю со студенческими работами здесь
8
Ошибка подключения при переводе Базы данных из SQL SERVER в Mysql Ошибка при подключении таблицы базы данных SQL Server в Intellij IDEA Базы данных SQL Server и C# Создание пустой базы данных и импорт данных в sql server 2000 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |