Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ввод данных через DBEdit

48K
23 апреля 2009 года
Uchenik
3 / / 23.04.2009
Приветствую всех!
Что нужно сделать что бы DBEdit был пустым по умолчанию перед вводом данных? (BorlandDelphi7)
11
23 апреля 2009 года
oxotnik333
2.9K / / 03.08.2007
а) Очистить
б) Отвязать (не привязывать) к DataSource
в) Значение соответствующего поля в DataSource должно быть пустым
1
23 апреля 2009 года
kot_
7.3K / / 20.01.2000
г) Не использовать DBEdit
48K
24 апреля 2009 года
Uchenik
3 / / 23.04.2009
:confused:
48K
24 апреля 2009 года
Uchenik
3 / / 23.04.2009
Для начинающих можно чуть по точнее? :confused:
8.5K
24 апреля 2009 года
FrostFX
121 / / 01.03.2007
Еще точнее...
ну... как бэ...
a)
 
Код:
DBEdit1.text := ''

б)
 
Код:
DBEdit1.DataSource := ''
:)
в) ну тут я думаю понятно...
д) Самое простое)

немного подумав, добавлено позднее
Хотя на счет Б не уверен в типе данных...
1
24 апреля 2009 года
kot_
7.3K / / 20.01.2000
Цитата: Uchenik
Для начинающих можно чуть по точнее? :confused:


Если вы добавляете запись - а иначе трудно объяснить ваше желание :) - вы должны либо:
1. Добавить запись до того как вы покажете форму. ТОлько не тот идиотизм который демострирует вам FrostFX. Если ваши поля могут содержать NULL - то вы просто вызываете метод вставки (зависит от компонента, который вы используете) - и только потом показываете форму. Либо ваше поле должно иметь значение по умолчанию - и именно оно будет показано.
2. Используте обычное поле ввода. Это наиболее правильный вариант. В таком случае после ввода пользователя вы добавляете запись в таблицу именно так как вам нужно.
Мой совет - не используйте то, что вы не в состоянии контролировать.

1
25 апреля 2009 года
kot_
7.3K / / 20.01.2000
Видимо FrostFX счел себя задетым, моим определенем по его высказыванию. Хотя я в принципе не прав - определение "тот идиотизм" относится к сообщению oxotnik333, но так как FrostFX в полной мере продемонстрировал его практически, я затрудняюсь кому выдать пальму первенства. :)
Поэтому поясню подробнее почему совет "очистить поле" - я считаю признаком отсуствия мышления.
Как я уже сказал - смысл того, что бы поле было чистым - может быть только один. Это ввод новой записи. Для остальных ситуаций это требование просто бессмыслено. Задача контрола - отображать содержимое базы данных. Рекомендация DBEdit1.text := '' - равносильна тому что порекомендовать человеку, который сменил фамилию, стереть старую аккуратненько лезвием, а потом вписать новую. Если вы считаете, что это правильно, то тогда вы и данный подход одобрите.
Почему не верным является "Отвязать (не привязывать) к DataSource"? Про сравнению с предыдущей аналогией - это рекомендация в подобной же ситуации выкинуть паспорт.
Если следовать прежней аналогии - то мы должны просто подать заявление на смену паспорта. Т.е. вызвать метод Append если используется TTable, либо вставить запись в БД и перейти на нее. В случае если данное поле может быть пустым - оно пустым будет. А если не может - то тем более попытка "очистить" приведет к проблемам.
А еще лучше данный компонент не использовать. ТОгда вы спокойно пишите или не пишете туда что хотите, выполняете локальную проверку - и только потом выполняете вставку. Но естественно данный метод не сможет (точнее сможет - но более сложным образом) работать с TTable. Ну так моя стандартная рекомендация - НИКОГДА НЕ ИСПОЛЬЗУЙТЕ TTable :)
8.5K
25 апреля 2009 года
FrostFX
121 / / 01.03.2007
FrostFX не счел себя задетым, так как не считает себя гуру в Delphi или вопросах касающихся баз данных :)
Думаю, мы с oxotnik333 драться за пальму первентста не будем, в отношении меня по поводу того самого "идиотизма" я сказать ничего не могу, а у oxotnik333 есть оправдание в подписи :)

Критику в свой адрес принимаю адекватно, даже если она преисполнена словами из диалекта гопника, главное чтобы не была потерана суть вопроса))

Несомненно, вариант предложеный пользователем kot_, показывает как делать не надо на пальцах)
Думаю, на этом тред должен закончится, мбо по моим подсчетам топикстартер уже нашел то, что ему нужно...

P.S.: Еще парочка таких сообщений, как это и меня действительно забанят за флуд/флейм
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог