Версия лазаруса - 1.0.12, СУБД - SQLite3, ОС - winxp
Непосредственно код, как происходит у меня процесс заполнения.
- Код: Выделить всё
begin
// Преобразование даты с Lasarus для SQLite
datestr1:=datetostr(DateEdit1.Date);
day1:=copy(datestr1,1,2);
month1:=copy(datestr1,4,2);
year1:=copy(datestr1,7,4);
datestr1:=year1+'-'+month1+'-'+day1;
datestr2:=datetostr(DateEdit3.Date);
day2:=copy(datestr2,1,2);
month2:=copy(datestr2,4,2);
year2:=copy(datestr2,7,4);
datestr2:=year2+'-'+month2+'-'+day2;
q := TSQLQuery.Create(self);
q.DataBase := Form1.SQLite3Connection1;
q.Transaction := Form1.SQLTransaction1;
form1.SQLQuery1.Active:=false;
form1.SQLQuery2.Active:=false;
form1.SQLQuery3.Active:=false;
q.SQL.Add('INSERT INTO magazine(DateJoin, urg, calcurg, calcmin, FIO, Place, DateBurn, dep, matherial, Dia, desc, Answer, Date, FIODoc) VALUES("'+datestr1+'",'+inttostr(flagint)+','+inttostr(flagurg)+','+inttostr(flagmin)+',"'+edit1.text+'","'+edit2.Text+'","'+inttostr(Spinedit3.Value)+'","'+inttostr(form2.ComboBox1.ItemIndex)+'","'+memo1.Text+'","'+memo2.Text+'","'+memo3.Text+'","'+memo4.Text+'","'+datestr2+'","'+edit3.text+'");');
q.ExecSQL;
form1.SQLQuery1.Active:=true;
form1.SQLQuery2.Active:=true;
form1.SQLQuery3.Active:=true;
form1.SQLQuery1.ApplyUpdates;
form1.SQLQuery2.ApplyUpdates;
Пробовал заполнять поля таблицы через fieldbyname, но результат точно такой же.
Возможно, проблема в процессе перевода типа даты, но если без перевода, то SQLite3 откажется воспринимать дату как таковую