2015-08-25 1 views
2

Я вставляю новую запись в таблицу DB, которую я открыл, и в режиме редактирования. У меня есть форма, тогда как приложение Delphi XE предварительно заполняет некоторые значения в ящиках TDBEdit. При вставке из одного окна TDBEdit в другой в форме значение из следующего блока TDBEdit удаляется при входе в поле. Это не то, как я хотел бы, чтобы компонент вел себя ... Я предпочел бы, чтобы значение оставалось в коробке. Данные не сохраняются в таблице до выдачи команды table.Post.Исчезающие значения данных в поле TDBEdit в Delphi XE

Как я могу получить данные, чтобы оставаться в коробке при входе в поле TDBEdit?

ответ

5

Лучше поместите значения в полях набора данных вместо элементов управления БД. Так оно и должно работать. Элемент управления БД всегда берет свое содержимое из экземпляра поля.

Чтобы предварительно заполнить значения для новых записей, используйте событие OnNewRecord для набора данных.

+0

Мне нужно, чтобы пользователь вводил данные в поля формы, а затем отправлял эти значения в базу данных. Некоторые из блоков могут быть предварительно заполнены данными уже. Итак, какие типы ящиков я должен использовать в своей форме перед отправкой в ​​базу данных? – Hackbrew

+2

Как я уже сказал: поместите предварительно заполненные значения в поля набора данных, а не в элементы управления редактирования. Вы также можете получить доступ к полям из элементов управления db. Например, TDBEdit имеет поле свойств. Предполагая, что TDBEdit назван myDBEdit, а тип данных - строка, вы можете установить значение с помощью 'myDBEdit.Field.AsString: = 'введите свое значение здесь'. –

+0

Извините заранее за путаницу в этом ... поэтому я понимаю, что вы говорите для полей, заполненных заранее, но какой тип поля ввода или ввода я должен использовать для полей в наборе данных, которые не имеют предварительно заполненных значения, и я хочу, чтобы пользователь вводил ввод, который в конечном итоге будет отправлен в набор данных? – Hackbrew

Смежные вопросы