Ввод данных через DBEdit
Что нужно сделать что бы DBEdit был пустым по умолчанию перед вводом данных? (BorlandDelphi7)
б) Отвязать (не привязывать) к DataSource
в) Значение соответствующего поля в DataSource должно быть пустым
г) Не использовать DBEdit
:confused:
Для начинающих можно чуть по точнее? :confused:
ну... как бэ...
a)
Код:
DBEdit1.text := ''
б)
Код:
DBEdit1.DataSource := ''
в) ну тут я думаю понятно...
д) Самое простое)
немного подумав, добавлено позднее
Хотя на счет Б не уверен в типе данных...
Цитата: Uchenik
Для начинающих можно чуть по точнее? :confused:
Если вы добавляете запись - а иначе трудно объяснить ваше желание :) - вы должны либо:
1. Добавить запись до того как вы покажете форму. ТОлько не тот идиотизм который демострирует вам FrostFX. Если ваши поля могут содержать NULL - то вы просто вызываете метод вставки (зависит от компонента, который вы используете) - и только потом показываете форму. Либо ваше поле должно иметь значение по умолчанию - и именно оно будет показано.
2. Используте обычное поле ввода. Это наиболее правильный вариант. В таком случае после ввода пользователя вы добавляете запись в таблицу именно так как вам нужно.
Мой совет - не используйте то, что вы не в состоянии контролировать.
Поэтому поясню подробнее почему совет "очистить поле" - я считаю признаком отсуствия мышления.
Как я уже сказал - смысл того, что бы поле было чистым - может быть только один. Это ввод новой записи. Для остальных ситуаций это требование просто бессмыслено. Задача контрола - отображать содержимое базы данных. Рекомендация DBEdit1.text := '' - равносильна тому что порекомендовать человеку, который сменил фамилию, стереть старую аккуратненько лезвием, а потом вписать новую. Если вы считаете, что это правильно, то тогда вы и данный подход одобрите.
Почему не верным является "Отвязать (не привязывать) к DataSource"? Про сравнению с предыдущей аналогией - это рекомендация в подобной же ситуации выкинуть паспорт.
Если следовать прежней аналогии - то мы должны просто подать заявление на смену паспорта. Т.е. вызвать метод Append если используется TTable, либо вставить запись в БД и перейти на нее. В случае если данное поле может быть пустым - оно пустым будет. А если не может - то тем более попытка "очистить" приведет к проблемам.
А еще лучше данный компонент не использовать. ТОгда вы спокойно пишите или не пишете туда что хотите, выполняете локальную проверку - и только потом выполняете вставку. Но естественно данный метод не сможет (точнее сможет - но более сложным образом) работать с TTable. Ну так моя стандартная рекомендация - НИКОГДА НЕ ИСПОЛЬЗУЙТЕ TTable :)
Думаю, мы с oxotnik333 драться за пальму первентста не будем, в отношении меня по поводу того самого "идиотизма" я сказать ничего не могу, а у oxotnik333 есть оправдание в подписи :)
Критику в свой адрес принимаю адекватно, даже если она преисполнена словами из диалекта гопника, главное чтобы не была потерана суть вопроса))
Несомненно, вариант предложеный пользователем kot_, показывает как делать не надо на пальцах)
Думаю, на этом тред должен закончится, мбо по моим подсчетам топикстартер уже нашел то, что ему нужно...
P.S.: Еще парочка таких сообщений, как это и меня действительно забанят за флуд/флейм