Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi_Прак_2010.DOC
Скачиваний:
38
Добавлен:
10.11.2018
Размер:
2.31 Mб
Скачать

2.5. Ввод данных через отдельные компоненты

Ввод данных в отдельные компоненты и запись в таблицу базы данных осуществляют следующим образом.

Первоначально необходимо подготовить форму для ввода данных. Возможный вид формы представлен на рис. 2.5.

Рис. 2.5. Форма для ввода данных через компоненты

Область для ввода данных располагается на компоненте Panel, свойство Caption очищено.

Поля ввода сопровождают надписи. Надписи созданы с помощью компонента Label, в свойство Caption введена русская надпись.

Поля для ввода созданы с помощью следующих компонентов:

текстовые поля - компонент Edit, свойство text очищают;

поле с раскрывающимся списком – компонент ComboBox, в свойстве Items вводят список значений, свойство text очищают;

поле для ввода даты DateTimePicker.

На кнопке Добавить (компонент Button) помещена процедура добавления введенных данных в таблицу базы данных (данные отражаются в компоненте DBGrid).

Table1.Append;

Table1['Sh_gr']:=Edit1.text;

Table1['Facul']:=ComboBox1.Text;

Table1['Spec']:=ComboBox2.Text;

Table1['Rurs']:=StrToInt(ComboBox3.Text);

Table1['Star']:=Edit2.text;

Table1['Dat_zach']:=DateTimePicker1.Date;

Table1.Post;

На кнопке Очистить помещена процедура очистки полей ввода.

Edit1.text:='';

ComboBox1.Text:='';

ComboBox2.Text:='';

ComboBox3.Text:='';

Edit2.text:='';

Второй пример ввода данных в таблицу базы данных реализован следующим образом.

Первоначально создают форму для ввода данных. Возможный вид формы представлен на рис. 2.6.

Область для ввода данных располагается на компоненте Panel, свойство Caption очищено.

Поля ввода сопровождают надписи. Надписи созданы с помощью компонента Label, в свойство Caption введена русская надпись.

Рис. 2.6. Форма для ввода данных

Поля для ввода созданы с помощью следующих компонентов:

простые поля для ввода - с помощью компонента Edit;

группа зависимых переключателей – с помощью компонента RadioGroup (в свойстве Caption вносится надпись на русском языке; например, «Бюджет / Договор»), на компоненте RadioGroup помещают компоненты RadioButton (для них в свойстве Caption ставят надписи на русском языке);

независимый переключатель - с помощью компонента CheckBox (в свойстве Caption указывается надпись на русском языке, например, «Военнообязанный»);

поле с раскрывающимся списком - с помощью компонента ComboBox.

Раскрывающийся список выбирают из другой таблицы (в данном примере поле «Шифр группы» выбирают из таблицы «Группы»). Для формирования списка на форму ставят компонент Table2 и связывают его с таблицей Группы (вкладка BDE, компонент Table, для свойства DataBaseName выбирают псевдоним базы данных, для свойства TableName выбирают имя таблицы, для свойства Active устанавливают значение true). Во вкладке Data Access выбирают компонент DataSource, в его свойстве DataSet устанавливают Table2.

Для формы в целом в событии OnActivate записывают следующую процедуру:

Table2.First;

While not Table2.Eof do

begin

ComboBox1.Items.Add(Table2.fieldByName('Sh_gr').Value);

Table2.Next;

end;

Данная процедура выбирает значения из поля Sh_gr таблицы Table2 и помещает их в значения (Items) компонента ComboBox1.

На кнопке Добавить помещена процедура ввода данных в поля таблицы базы данных.

Table1.Append;

Table1['Nom_z']:=Edit1.text;

Table1['Fam']:=Edit2.text;

Table1['Im']:=Edit3.text;

Table1['Otch']:=Edit4.text;

Table1['Sh_gr']:=ComboBox1.Text;

if RadioButton1.Checked then Table1['B_D']:='Бюджет' ;

if RadioButton2.Checked then Table1['B_D']:='Договор';

if CheckBox1.Checked then Table1['V_sl']:='Да'

else Table1['V_sl']:='Нет';

Table1.Post;

На кнопке Очистить помещают процедуру очистки полей ввода.

Edit1.text:='';

Edit2.text:='';

Edit3.text:='';

Edit4.text:='';

ComboBox1.Text:='';

RadioButton1.Checked:= false;

RadioButton2.Checked:= false;

CheckBox1.Checked:=false;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]