pupsik писал(а):если не ошибаюсь то это и есть причина такого рода хранения дат в sqlite.
В базе оно может и стандартизировано (хотя не факт, надо смотреть специ и исходники - вдруг там региональные настройки тоже учитываются).
А вот на вашем (как разрабочика - прикладника) уровне вы работаете с представлением дат в виде строки, которое вам отдала библиотека доступа к БД. А она точно будет зависима от региональных настроек.
И ещё - учитываете следующее :
- В файле БД дата хранится в виде строки
- ядро sqllite перекодирует эту строку во внутренне бианрное представление даты
- движок из лазаря (sqldb или zeos) приводят это бинарное представление к TDateTime
- вы, обращаясь к значению поля как к .AsString заставляете перекодировать TDateTime в string
Не многовато ли действий? Причём последнее абсолютно лишнее, ведущее только к замедлению.
И ещё - как вы будете делать эелементарную задачу - увеличить дату на 1 день? для TDateTime это просто D+1. А для даты в виде строки надо кучу телодвижений сделать.
pupsik писал(а):А то что при написании программы не учли вариант работы с большим набором это является проблемой хранилища?
Это является проблемой разработчика, которую он почему-то переносит на пользователя.
Поэтому я и сказал о неоднозначном отношении. Разработчик ленится подумать о последствиях использования. Кажущаяся простота в дальнейшем вызывает проблемы.
Добавлено спустя 44 секунды:Надо последние посты во флейм переносить. Они к данной теме не имеют отношения.