![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
Ald |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 31.7.2008 Репутация: нет Всего: нет |
Здравствуйте. Есть 2 связанные таблицы из базы Northwind – Customers и Orders. Связь один ко многим. Данные из тех таблиц я вывожу на 2 связанных между собой DatagridView. Нужно по выбору пользователя осуществить удаление записи из главной таблицы или из подчиннеой таблицы. Пользователь выбирает данные путем клика на нужном поле и нажимает кнопку удалить.
Если нужно удалить запись из главной таблицы, то тут все просто я получаю значение CustomerID c помощью: dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value Далее выполняю запрос на удаление всех записей из подчиненной таблицы и 1 запись из главной. Но как узнать какую запись пользователь выбрал в подчиненном гриде, если ему нужно удалить 1 запись из него и не удалять данные из главной таблицы? |
|||
|
||||
MasterOfCode |
|
|||
![]() elwin ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 24.4.2008 Где: World.Russia.Tyum en Репутация: 4 Всего: 27 |
Вообще то все это должно решаться в триггерной логике в самой СУБД. Пишешь триггер, цепляешь его на событие к таблице. В самой программе не чего не делаешь кроме удаления записи...
-------------------- ![]() |
|||
|
||||
vretsky |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 29.10.2007 Репутация: нет Всего: нет |
так же как и в главном гриде, д.б. поле ID в таблице "заказы", выводишь его в грид (можно невидимым), получаешь так же его значение и удаляешь. в чем проблема не очень понимаю? может в табле "заказы" нет ключа?
Добавлено через 4 минуты и 6 секунд для MasterOfCode какой триггер? база mdb Добавлено через 8 минут и 2 секунды пардон прошу прощения... не проснулся исче ![]() |
|||
|
||||
vretsky |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 29.10.2007 Репутация: нет Всего: нет |
да точно так же через CurrentCell повторил ваш код, добавил это: MessageBox.Show(dataGridView2[0, dataGridView2.CurrentCell.RowIndex].Value.ToString()); нормально работает. если первое поле в таблице заказов ID, то: string orderNumber=dataGridView2[0, dataGridView2.CurrentCell.RowIndex].Value.ToString(); string delCMD="DELETE FROM ORDERS WHERE ID=" + orderNumber; (ну или там передать как параметр в строку запроса) и удаляйте на здоровье |
|||
|
||||
Ald |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 31.7.2008 Репутация: нет Всего: нет |
vretsky спасибо за помощь, нашел свою ошибку.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |