Ты снова наступаешь на те-же грабли как и с DBLookupComboBox1.
Я же чуть выше показал, куда и откуда берется значение в DateTimePicker1
Надо так: DateTimePicker1.DateTime
Для записи данных в БД у тебя есть два способа.
1.Можно предварительно преобразовать значение DateTimePicker1.DateTime в строку - DateTimeToStr(DateTimePicker1.DateTime) и уже потом пытаться его записать как текст в таблицу. Но я сильно сомневаюсь, что у тебя в таблице поле date_postyplenie строкового типа. Поэтому могут быть сюрпризы.
2. Второй способ предпочтительнее и он более удобен, но потребует некоторой переделки кода, а именно использование параметров. Удобств у параметров довольно много, все расписывать долго, потому просто адаптация твоего кода под параметры:
Код:
AdoQuery1.SQL.Text := 'insert into postypenie (id_product, id_postacshik, date_postyplenie, vhodnaia_cena, nacenka) values (:P1,:P2,:P3,:P4,:P5);';
AdoQuery1.Parameters.ParamValue['P1'] := DBLookupComboBox1.KeyValue;
AdoQuery1.Parameters.ParamValue['P2'] := DBLookupComboBox2.KeyValue;
AdoQuery1.Parameters.ParamValue['P3'] := DateTimePicker1.DateTime;
AdoQuery1.Parameters.ParamValue['P4'] := Edit2.Text;
AdoQuery1.Parameters.ParamValue['P5'] := Edit3.Text;
AdoQuery1.ExecSQL;