![]() |
|
|
![]()
|
|
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Доброго времени суток.
Имеется 2 таблицы - Users (имеет UserName и RoleID) и Roles (имеет RoleID и RoleText). Делаю их объединение (в TADODataSet) и вывожу в DBGrid в виде UserName RoleText. Как обеспечить редактирование такой выборки стандартными компонентами типа DBEdit и DBLookupCombobox для RoleText? Это сообщение отредактировал(а) Keeper89 - 18.5.2011, 00:27 |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
Сначала не правильно понял.
Какую таблицу надо редактировать? Покажи запрос выборки. Это сообщение отредактировал(а) superVad - 18.5.2011, 14:54 |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Никак. Одновременно для двух таблиц не бывает ни Insert into..., ни Update ...
Добавлено через 1 минуту и 14 секунд Само название "Редактирование выборки" абсурдно. Редактировать можно запись, таблицу. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Таблица Users
UseID UserName UserRole 1 aaa 1 2 bbb 2 Таблица Roles RoleID RoleName 1 admin 2 user Выборка UseID UserName RoleName 1 aaa admin 2 bbb user Хотелось бы, чтобы пользователь мог изменять «читабельные» значения типа admin и user, для чего и планировалась выборка. Возможно как-то сделать такое (или подобное)? |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
Keeper89, т.е. надо в таблице Users менять значение UserRole через выпадающий список с названиями ролей???
Лукап поле в гриде поможет или DBLookupCombobox. А вот если ты хочешь RoleName в таблице Roles редактировать, то надо запрос по другому построить, но нельзя будет редактировать таблицу Users. Но мне кажется, что это вряд ли то что тебе нужно. |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
superVad, если брать просто таблицу Users с DBLookupCombobox (со значениями из Roles) - все ок, но в гриде пользователь видит единицу и двойку, а хотелось бы, чтобы в гриде, как и в DBLookupCombobox отображались admin и user.
|
|||
|
||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
наверное нужно использовать Lookup поля в гриде + сформировать запрос на изменение таблицы пользователей типа
|
||||
|
|||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
Для этого есть лукап поля в датасете. Грубо говоря клацни на датасете 2 раза. Потом правой клавишей на открывшемся окошке - Add all fields и после этого New Field. И создаешь и настраиваешь новое поле типа Лукап. Потом его можно добавить в грид. Наверное все даже проще. В запросе выбирай код и название роли, а в гриде просто не выводи код, а выводи название. Возможно после Пост приедтся делать рефреш - не знаю, я не работал с АДО. Это сообщение отредактировал(а) superVad - 18.5.2011, 21:53 |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Решил сделать по этому варианту, имею такую картинку: ![]() Можно сделать так, чтобы уже имеющиеся значения отображались (сейчас как на картинке поля почему-то пустые)? |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Поля загадочно появились при замене связки
TADODataSet - TADODataDriverEh - TMemTableEh - TDataSource на TADODataSet- TDataSource ... |
|||
|
||||
| superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
||||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
Я конечно посмотрю что может быть не так, но настройки делал вроде бы идентичные для обеих связок.
|
|||
|
||||
![]()
|
| Правила форума "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. |