Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2016, 18:44   #1
San22Rus
Пользователь
 
Регистрация: 07.03.2016
Сообщений: 20
По умолчанию Delphi 7. Компонент DateTimePicker

Доброго времени суток! Помогите новичку, в общем проблема такая:
Есть база данных, подключённая к делфи через ADOConnection, таблица простая "информация о клиентах", в таблице есть поле "Дата рождения", не хочу, чтобы вручную вводилось значение,надо сделать, чтобы оно выбиралось из компонента DateTimePicker, т.к. новичок даже не знаю как это реализовать, толи через кнопку, толи через событие самого datetimepicker, подскажите пожалуйста! Пробовал через кнопку вот таким вод методом:
Код:
 procedure TForm4.Button1Click(Sender: TObject);
begin
DM.Klients.Append;
if DM.Klients.Modified then
DM.Klients.Post;
Dm.Klients.FieldByName('Дата рождения').Value:=DateTimePicker1.Date;
Close;
end;
в поле вводится значение вообще из непонятных цифр...

Последний раз редактировалось Вадим Мошев; 08.03.2016 в 13:29.
San22Rus вне форума Ответить с цитированием
Старый 07.03.2016, 21:39   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Пост надо после присвоения поля поставить, но не уверен, что это решит проблему, хотя ошибка явная.
Совет ещё - не называть имена полей русскими словами и с пробелами.
phomm вне форума Ответить с цитированием
Старый 07.03.2016, 21:48   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В коде еще кроме этого наворочено. Сомневаюсь, что для редактирования даты рождения нужно добавление записи, видимо вместо Append нужен Edit. В таком контексте еще проверка на Modified как мертвому припарка. Еще бы время убрать из DateTimePicker1.Date при записи в таблицу. Двумя словами - все в топку
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.03.2016, 07:19   #4
San22Rus
Пользователь
 
Регистрация: 07.03.2016
Сообщений: 20
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Пост надо после присвоения поля поставить, но не уверен, что это решит проблему, хотя ошибка явная.
Совет ещё - не называть имена полей русскими словами и с пробелами.
Насчёт полей, да, уже понял, когда делал фильтрацию по записям выдавалась ошибка, пока в БД не сменил все поля на английские проблема не решилась!)
San22Rus вне форума Ответить с цитированием
Старый 08.03.2016, 07:27   #5
San22Rus
Пользователь
 
Регистрация: 07.03.2016
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
В коде еще кроме этого наворочено. Сомневаюсь, что для редактирования даты рождения нужно добавление записи, видимо вместо Append нужен Edit. В таком контексте еще проверка на Modified как мертвому припарка. Еще бы время убрать из DateTimePicker1.Date при записи в таблицу. Двумя словами - все в топку
После нескольких часов разобрался, это решило все проблемы
Код:
procedure TForm4.Button1Click(Sender: TObject);
begin
DM.Klients.FieldByName('Фамилия').Value:=Dbedit1.Text;
DM.Klients.FieldByName('Имя').Value:=Dbedit2.Text;
DM.Klients.FieldByName('Отчество').Value:=Dbedit3.Text;
DM.Klients.FieldByName('Дата рождения').AsDateTime:=Trunc(DateTimePicker1.Date);
DM.Klients.FieldByName('Телефон').Value:=Dbedit5.Text;
DM.Klients.FieldByName('Гражданство').Value:=Dbedit6.Text;
DM.Klients.FieldByName('Адрес').Value:=Dbedit7.Text;
DM.Klients.FieldByName('Серия').Value:=Dbedit8.Text;
DM.Klients.FieldByName('Номер').Value:=Dbedit9.Text;
Close;
end;

Последний раз редактировалось Вадим Мошев; 08.03.2016 в 13:29.
San22Rus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД (Paradox) и DateTimePicker. Задача состоит в том, при выборе даты DateTimePicker открывать соответствующую дату в БД anastassia БД в Delphi 10 12.04.2015 15:41
datetimepicker всегда развернут delphi N.i.k.o.l.a.y. Помощь студентам 4 22.05.2013 21:22
Delphi: Поиск в DBGrid с пом-ю компоненты DateTimePicker ul_mrAlex Помощь студентам 0 04.04.2013 22:02
[Поиск] Компонент локализации строковых ресурсов и сторонних компонент delphi Человек_Борща Компоненты Delphi 3 23.08.2011 10:44
DateTimePicker Delphi GAGARIN-NEW Помощь студентам 7 06.12.2007 15:23