![]() |
|
![]() ![]() ![]() |
|
Golar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.5.2006 Где: Россия, Воронеж Репутация: нет Всего: нет |
Подскажите пожалуйста, я только начала изучать БД. если я пишу прогу с БД на Delphi и использую Access, то лучше работать с вкладкой Ado. у меня возникла проблема, наверно глупая, но я не знаю как ее решить. как отразить булевское поле в DBGrid, чтобы там было не true||false?, а например муж//жен? не используя создание полей для AdoQuery и установку там св-ва DisplayValues?
|
|||
|
||||
Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 1 Всего: 17 |
Тебе обязательно для этого использовать DBgrid, если да то это сделать сложно(покрайней мере мне сложно
![]() Если подходит такой вариант отпиши здесь или мне на аську 243673233, я смогу помочь, лучше в асю там быстрее ![]() -------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
Golar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.5.2006 Где: Россия, Воронеж Репутация: нет Всего: нет |
спасибо, но при вставке у меня проблем пока нет, а проблема: как отразить запрос select уже существующей таблицы с булевским полем.
удобнее всего конечно создать поля для adoquery, но мне нужно этот же компонент(adoquery) использовать для запросов из др. таблиц, а тогда он ругается!!! это плохо, если у меня на одной форме будет несколько adoquery, отвечающих каждый за свою таблицу? Добавлено @ 22:44 а как определить кол-во записей в запросе селект, не пользуясь спец. функцией count? есть какое-нибудь поле? |
|||
|
||||
Palladin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 932 Регистрация: 15.5.2007 Где: Беларусь г.Гомель Репутация: 1 Всего: 17 |
Незнаю точно, но это вроде как невозможно, через селект я думаю нельзя, да и зачем это может быть нужно когда можно просто:
-------------------- Глуп тот кто полагается на истину авторитета, а не на авторитет истины [color=red]KAV&KIS==Evil[/color] |
|||
|
||||
bas |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: 1 Всего: 2 |
||||
|
||||
skyboy |
|
||||||||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
Golar, можно запрос просто сформулировать типа такого:
Где id1 и field1 - какие-то "левые" поля, к сути дела отношения не имеющие, но подчёркивающие логику запроса. Идея ясна? Объединаяешь два запроса, каждый из которых в нужной позиции возвращает тебе пол константой... Правда, мне не нравится константы. Я бы использовал ещё одну таблицу idsex: logical name_sex: string True Муж False Жен И запрос тогда выглядел бы так:
или так(будут выведены записи только тех людей, у которых пол указан):
или так(у тех, у которых пол не задан, будет выведено "бесполое создание")
или так(у тех, у которых пол не задан, будет возвращено значение "null")
Этот метод "требует" наличия дополнительной таблицы, но если захочешь изменить названия полов(например, на "man"/"woman" или ещё чего), не придётся менять запрос, доступа к которому к тому времени уже может не быть(на руках - только программа без исходников) примечание: как мне кажется, UNION ALL будет работать бустрее UNION, так как не будет искать повторяющиеся значения. Если не прав - прошу меня исправить. |
||||||||||
|
|||||||||||
Savek |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 10.4.2006 Где: Воронеж Репутация: 7 Всего: 7 |
А чем не нравится DisplayValue?
Мне кажется гораздо проще управлять отображением булевых значений так ADOQuery.Open; TBooleanField(ADOQuery.FieldByName('Sex')).DisplayValue:='Муж;Жен'; |
|||
|
||||
Golar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.5.2006 Где: Россия, Воронеж Репутация: нет Всего: нет |
Спасибо большое!!!!
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |