![]() |
|
|
![]()
|
|
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
Здравствуйте. Задача такая...
Есть чужая и моя таблицы... Нужно отобразить записи чужой таблицы, удалить не нужные (из набора, но не из таблицы), а оставшиеся вставить в мою таблицу... Вопрос: Как удалить запись из грида (в датасете поле rowid не выбираю, чтобы случайно не удалить запись из чужой таблицы)? То есть как удалить запись из набора, не подвергая изменениям таблицу-источник? Или хотя бы не удалить, а сделать какую-то визуальную пометку, что эта запись не нужна... Скажем, добавить в грид колонку с CheckBox и галки ставить... Пробовал добавить, но у меня чекбокс - недоступный для изменений (наверное, из-за того, что все тот же rowid не выбираю)... Добавлено через 14 минут и 44 секунды Есть, конечно, вариант - сразу все записи из чужой таблицы вставить в свою, отобразить в гриде и удалить не нужные... Но может кто-то решал подобное более элегантным способом? |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
ключевое поле в таблице есть? id?
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
||||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 7 Всего: 17 |
Kbl4AH, думаю тебе помогут временные таблицы.
-------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
rowid - ты его заводил?? это поле, которое заводит оракл сам для себя. а внешние ключи на эту таблицу ты по этому полю делаешь??? -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
||||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
давай по порядку. какие в таблице есть поля? именно те, что ты создавл. Добавлено через 1 минуту и 43 секунды oracle не даст создать поле с именем rowid -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Kbl4AH |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
pseud, смысл такой... есть чужая таблица (в ней я ничего не делаю)... мне нужно некоторые записи (скажем по определенной дате) из нее вставить в мою таблицу... но вставить нужно не все записи, а те которые нужны пользователю... то есть отобразить нужно все записи, потом пользователь пометит какие записи нужны, и нужные записи уже вставить в мою таблицу...
с точки зрения пользователя удобно было бы не нужные записи удалить, но удалять их из чужой таблицы - нельзя... нужно удалить их только из грида... Добавлено через 7 минут и 54 секунды в принципе решение нашел такое... вставляю все записи в свою таблицу запросом Query... но коммит сессии не делаю... показываю форму модально, в ней в гриде отображаю записи (выбираю в датасете с rowid)... пользователь удаляет не нужные... потом если форма закрыта кнопкой 'Сохранить' -
если нет -
вроде работает... вот тока не уверен все ли я корректно сделал, нет ли не учтенных (по незнанию) мной моментов((( |
||||
|
|||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 7 Всего: 17 |
сделай ее только для чтения. Тогда будет не страшно использовать rowid. Может тебе тогда заносить индексы в динамический массив, а потом просто повторно делать выборку за вычетом отмеченных строк? Добавлено через 4 минуты и 13 секунд А на счет временной таблицы зря. И Microsoft и Oracle советуют для промежуточных операций их использовать. Как раз по той же причине - что бы не потерять данные. -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
||||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 7 Всего: 17 |
поэтому я опять обращаю твой взор к временным таблицам. -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
||||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
ты ведь наоборот хотел, чтобы пользователь выбрал нужные -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 7 Всего: 17 |
Ну, и где же оно? Почему? -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
без разницы: или удаляет не нужные или помечает нужные... см. выше мне не нравится их использовать... избыточны они, что ли... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |