В БД для поля выбрал тип TEXT.
- Код: Выделить всё
CREATE TABLE "tbl" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
"dt" TEXT
)
Добавляю так:
- Код: Выделить всё
SQLQuery1.Close;
SQLQuery1.SQL.Text:='insert into `tbl` (`dt`) values (:t)';
SQLQuery1.ParamByName('t').AsDateTime:=now;
SQLQuery1.ExecSQL;
SQLTransaction1.Commit;
Почему-то в базу вместо строкового вида, пишет число с точкой. Ладно, фиг с ним. Идём дальше - получение данных:
- Код: Выделить всё
SQLQuery1.Close;
SQLQuery1.SQL.Text:='select * from `tbl` order by `id` desc limit 1;';
SQLQuery1.Open;
SQLQuery1.First;
ShowMessage(
'#' +
SQLQuery1.FieldByName('id').AsString +
' = ' +
DateTimeToStr(SQLQuery1.FieldByName('dt').AsDateTime)
);
И вот тут мы получаем ошибку:
Что я делаю не так?