Текущий архив: 2004.02.13;
Скачать: CL | DM;
Вниз
даты в БД Найти похожие ветки
← →
Vitalik (2004-01-24 16:38) [0]Здравствуйте!
В моей программе пользователю предлагается ввести в простой TEdit дату в формате dd.mm.yyyy
Далее мне нужно эту дату сохранить в БД. Делаю я это примерно так:
begin
ADOQuery.SQL.ADD("UPDATE MyBase SET");
ADOQuery.SQL.ADD(
format("InDate = %f",
[StrTodateTime(Edit1.Text)])
);
***
ADOQuery.ExecSQL;
end;
Проблема в том, что в БД вместо этой даты оказывается дата на два дня позже.
Почему это происходит и как это устранить?
P.S. Тип данных столбца для хранения дат - DateTime.
P.P.S У меня в программе эти два дня точно нигде не прибавляются...
Спасибо!
← →
DCoder (2004-01-24 16:58) [1]Возможно чудит "format";
Используй не TEdit для ввода даты, а более надежный (с точки зрения ошибок пользователя) TDateTimePicker;
Время, как я вижу, тут вообще не используется, значит откажись от него
Напиши подругому:
ADOQuery.SQL.ADD("UPDATE MyBase SET InDate=");
ADOQuery.SQL.ADD(DateToStr(DateTimePicker.Date));
ADOQuery.SQL.ADD("where ...");
***
ADOQuery.ExecSQL;
← →
Vitalik (2004-01-24 17:05) [2]DateTimePicker у меня нету возможности использовать.
Вообще-то я использую даже и не TEdit для ввода даты... Запись даты у меня происходит на событии OnEdited в TTreeView (ну уж если быть до конца честным, то в TVirtualStringTree). В этом событии я могу просто узнать текст того Node, которое только что изменили и сохранить в БД.
← →
Vitalik (2004-01-24 17:08) [3]То есть я хочу сказать, что у меня вообще-то нету необходимости переводить дату в строку. Да и вообще, если я сделаю что-то типа
ADOQuery.SQL.ADD("UPDATE MyBase SET InDate=");
ADOQuery.SQL.ADD(Node.text);
ADOQuery.SQL.ADD("where ...");
то там совсем левая дата сохраниться...
← →
Desdechado (2004-01-24 17:37) [4]переводить дату в строку - не гуд, разные сервера по-разному ожидают формат даты, лучше используй параметры
SQL.Text := "update mybase set indate = :P1";
Params[ 0 ].AsDate := ...
ExecSQL;
Страницы: 1 вся ветка
Текущий архив: 2004.02.13;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.009 c