C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
DBGrid1->Fields[0]->Value — Ошибка
Simai
Отправлено: 28.10.2004, 16:09


Ученик-кочегар

Группа: Участник
Сообщений: 15



Привет всем. маленькая проблема.
есть DBGridEh1 — начинаю редактировать запись , перед тем как сделать POST я беру значение из ячейки DBGridEh1->Fields[0]->Value и проверяю на условие. А проблема в том, что DBGridEh1->Fields[0]->Value выдает NULL , если повторно проверить выдает првильное значение.

Заранее благодарен
Valdemar
Отправлено: 28.10.2004, 16:30


Мастер участка

Группа: Участник
Сообщений: 433



DBGridEh1 предназначен для отображения данных, а не для хранения. Поэтому лучше обращаться к набору данных (запрос, таблица), с которым связана DBGridEh1.
Например, Query1->Fields->Fields[0]->Value.
Simai
Отправлено: 28.10.2004, 16:39


Ученик-кочегар

Группа: Участник
Сообщений: 15



да, но я хочу получить значение ячейки до того как я сделаю Post
Simai
Отправлено: 28.10.2004, 16:43


Ученик-кочегар

Группа: Участник
Сообщений: 15



причем, если повторно проверить выдает првильное значение- и эту запись я пока не зписал и таблица находится в режиме State=dsInsert
AVC
Отправлено: 28.10.2004, 17:15


Ветеран

Группа: Модератор
Сообщений: 1583



2Simai вам же Valdemar сказал что Grild это для просмотра а для работы это DataSet
Если вы читаете из грида, тогда не удивляйтесь результату, а если вам нужен правильный результат то его можно получить через Field->OldValue или отловив событие класса Before (Post, ...)и запомнив результат в переменной.
olegenty
Отправлено: 29.10.2004, 06:56


Ветеран

Группа: Модератор
Сообщений: 2412



только надо помнить, что OldValue работает при CachedUpdates
Simai
Отправлено: 29.10.2004, 09:57


Ученик-кочегар

Группа: Участник
Сообщений: 15



Ок! Спасибо . как только установил CachedUpdates  — все заработало
AVC
Отправлено: 29.10.2004, 10:11


Ветеран

Группа: Модератор
Сообщений: 1583



Внимание. Разрешение CachedUpdates это не единственное, что нужно сделать. И вообще, этот выбор должен быть осознан.
Судя по исходному вопросу я бы посоветовал воспользоваться BeforePost.
olegenty
Отправлено: 31.10.2004, 07:42


Ветеран

Группа: Модератор
Сообщений: 2412



поддерживаю AVC, у тебя всё остальное работать перестанет smile.gif
я имел в виду, что это OldValue работает в режиме CachedUpdates, но применение этой технологии от тебя требует для начала въехать, что это за технология и с чем её едят...

Вернуться в Работа с базами данных в C++Builder