powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменение поля в рекордсете
5 сообщений из 5, страница 1 из 1
Изменение поля в рекордсете
    #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
Изменение поля в рекордсете
    #32245452
Smile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если я правильно мыслю, такие подмены нужно делать на клиенте при отображении самого небора данных, а не так что б рекордсет состоял из набора таких записей
например, в стандартном гриде можно управлять, что будет выводиться в поле грида, если тип поля логический: Да/Нет, Белый/Черный, Архив/Действующая и тп
...
Рейтинг: 0 / 0
Изменение поля в рекордсете
    #32245617
Ваня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим, а если в базе данные хранятся в разных полях, а нужно вывести в одном поле гриды?
...
Рейтинг: 0 / 0
Изменение поля в рекордсете
    #32245653
Smile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда делайте обновление не через тот же рекордсет, который является источником для грида
пишите дополнительно, например, хранимые процедуры для обновления, так как вы хотите, не получится никак
можно конечно извратиться, и cзделать, например, такую вьюху
SELECT field1+'blablabla'+field2,field3, field1,field2 FROM AnyTable
источником записей для грида, но отображать не все колонки, а field1+'blablabla'+field2 и field3, и обновление первой колонки запрограммировать через обновление field1 и field2, которые невидимы в гриде
сорри если не понятно объясняю, но лично я бы не стал так извращаться, а выбрал бы первый вариант
...
Рейтинг: 0 / 0
Изменение поля в рекордсете
    #32245781
Ваня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменение поля в рекордсете
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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