Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменение поля в рекордсете / 5 сообщений из 5, страница 1 из 1
23.08.2003, 16:04
    #32245420
Ваня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение поля в рекордсете
Есть такая проблема
Есть БД на SQL 2000, некоторые столбцы храняться ввиде 0 и 1
а на экран пользователю нужно выводить удобном для его восприятия виде, т.е. не 0 и 1 а например "Архив" или "Действующая" и т.д.
Поэтому в запросе я использовал Case :
Код: plaintext
SELECT 'Адрес'=(CASE WHEN STREET IS NULL THEN '' ELSE STREET + ' ' END + CASE WHEN HOUSE IS NULL THEN '' ELSE 'д.'+HOUSE + ' ' END) FROM T1

Но такой рекордсет неполучается править например поле Адрес невозможно изменить, причины понятны интересно как это можно обойти сейчас я создаю новый рекордсет задаю ему нужные мне поля и запихиваю в цикле в него данные :( уже на 9000 записях тормозит 12 секунд
...
Рейтинг: 0 / 0
23.08.2003, 18:54
    #32245452
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение поля в рекордсете
если я правильно мыслю, такие подмены нужно делать на клиенте при отображении самого небора данных, а не так что б рекордсет состоял из набора таких записей
например, в стандартном гриде можно управлять, что будет выводиться в поле грида, если тип поля логический: Да/Нет, Белый/Черный, Архив/Действующая и тп
...
Рейтинг: 0 / 0
24.08.2003, 19:04
    #32245617
Ваня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение поля в рекордсете
Допустим, а если в базе данные хранятся в разных полях, а нужно вывести в одном поле гриды?
...
Рейтинг: 0 / 0
24.08.2003, 22:58
    #32245653
Smile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение поля в рекордсете
тогда делайте обновление не через тот же рекордсет, который является источником для грида
пишите дополнительно, например, хранимые процедуры для обновления, так как вы хотите, не получится никак
можно конечно извратиться, и cзделать, например, такую вьюху
SELECT field1+'blablabla'+field2,field3, field1,field2 FROM AnyTable
источником записей для грида, но отображать не все колонки, а field1+'blablabla'+field2 и field3, и обновление первой колонки запрограммировать через обновление field1 и field2, которые невидимы в гриде
сорри если не понятно объясняю, но лично я бы не стал так извращаться, а выбрал бы первый вариант
...
Рейтинг: 0 / 0
25.08.2003, 09:52
    #32245781
Ваня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменение поля в рекордсете
Спасибо за советы
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменение поля в рекордсете / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]