![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не выполняется удаление из Access через ADO [D5, D6, D7, Access]
chsv © (2005-10-31 08:22:00)В своей программе я использую базу Access через ADO(ADO v2.7,WinXP Professional без SP, Access 2003, D5).
Пытаюсь выполнить следующий код:
Листинг 1:
----------
with FADOCommand do begin
CommandText := 'DELETE * FROM RcvValT WHERE DateTimeParam < "#10/29/200514:32:07"';
Prepared := True;
Execute();
end;
И - нифига! :( То есть при выполнении запроса не пишется об ошибке, но удаление
не выполняется. Причем что интересно -- если в WHERE указать поле, например, целого типа
(не дата/время), то удаление выполняется!
Попробовал составить запрос в построителе запросов Access, скопировать его в свою программу.
Результат тот же -- не работает!
Из положения выкрутился следующим образом:
Листинг 2:
----------
with FADOCommand do begin
CommandText := format(
'DELETE * FROM RcvValsT '
+ 'WHERE DateDiff("s","01.01.1970 0:0:0",[DateTimeParam]) < %d',
[ Round((StrToDateTime('31.10.2005 12:10:07')
- StrToDateTime('01.01.1970 0:0:0')) * 24 * 60 * 60)]);
Prepared := True;
Execute();
end;
Однако хотелось бы узнать -- можно ли все-таки удалить данные способом, представленным в Листинг 1? Что я делал не так или что нужно сделать, чтобы получилось так? ;))
Заранее благодарен.
chsv (2005-10-31 08:24:00) [21]Очепятка! :(( Личтинг 1 выглядит следующим образом:
Листинг 1:
----------
with FADOCommand do begin
CommandText := 'DELETE * FROM RcvValT WHERE DateTimeParam < #10/29/2005 14:32:07';
Prepared := True;
Execute();
end;