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

 
Как прочитать значение DBEdit ?
Guest
Отправлено: 25.11.2004, 05:11


Не зарегистрирован







...т.е. как обратиться к значению DBEdit->??????
Valdemar
Отправлено: 25.11.2004, 08:59


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

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



Если вы хотите получить значение поля таблицы, связанного с DBEdit1, то можно сделать так DBEdit1->Field->Value, но можно и так DBEdit1->Text. Различные DBEdit'ы и DBGrid'ы предназначены для отображения информации, а не для хранения, поэтому, по моему, лучше обращаться к источникам данных, не к компонентам эти данные показывающим.
laifik
Отправлено: 25.11.2004, 09:40


Дежурный стрелочник

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



CODE

AnsiString F;
F=Table1->FieldByName("Field")->AsString;

Так можно вытащить значение, отраженное в DBEdit. Тип переменной меняется в зависимости от типа переменной, указанное в Field таблицы или запроса.

Отредактировано laifik — 25/11/2004, 10:42
AVC
Отправлено: 25.11.2004, 10:10


Ветеран

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



2laifik
Тогда уж
AnsiString F =Table1->FieldByName("Field")->DisplayText;

Имя поля можно узнать так DBEdit->DataField;
В результате этой операции вы узнаете имя поля, в результате первой получаете указатель на поле т.е. получаете значение DBEdit->Field как это сделал Valdemar за один шаг. Но DBEdit сам следит за изменениями в Field и, по этому, доступ к field излишен.

Итак Как прочитать значение DBEdit ?
DBEdit->EditText — то что видим на экране
DBEdit->Text — то что хранится в базе
(кроме редкого случая, когда происходит динамическая замена содержимого поля)
laifik
Отправлено: 25.11.2004, 10:24


Дежурный стрелочник

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



QUOTE (AVC @ 25/11/2004, 11:12)
AnsiString F =Table1->FieldByName("Field")->DisplayText;


Согласна, так правильнее. Но мне хотелось показать, что тип поля может быть разным.
Guest
Отправлено: 25.11.2004, 10:30


Не зарегистрирован







Но вопрос звучал — значение DBEdit smile.gif
laifik
Отправлено: 25.11.2004, 13:32


Дежурный стрелочник

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



Если я правильно поняла, то это то, что отражается в DBEdit?
Valdemar все правильно ответил. Или мы что-то не поняли?
Guest
Отправлено: 25.11.2004, 13:40


Не зарегистрирован







Все спасибо за исчерпывающий ответ ! smile.gif

Вернуться в Вопросы программирования в C++Builder