powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Господа, поможите пожалста!
6 сообщений из 6, страница 1 из 1
Господа, поможите пожалста!
    #32186970
Фотография ScableR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то раз столкнулся с такой проблемой - при попытке записать данные в поле даты (использовалось - ADO, Delphi7, Access 2002) выдавалась ошибка. Сейчас, просто буду ту, старую прогу переделывать, а как вот это убрать не знаю :(....
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
VAR
   adate:string;
begin
.....
         WITH ADOQ_SQL.SQL DO
         BEGIN
            Clear;
            Add('INSERT INTO This (date) VALUES (''' + adate + '''');
         END;
         ADOQ_SQL.ExecSQL;

Возможно, где-то я допостил ляп, ну тките тогда меня носом в него =)...
...
Рейтинг: 0 / 0
Господа, поможите пожалста!
    #32186971
Алексей_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через ADO с Access не работал, но локально в paradox вставляю так:
'insert into "test.db" (mydate) values ("12.10.1999")'

Т.е. вполне возможно что проблемма в кавычках не одинарные использовать нужно, а двойные т.е. не ''' а "
Еще IMHO некрасиво называть поля служебными словами (date).
...
Рейтинг: 0 / 0
Господа, поможите пожалста!
    #32187001
Фотография Mihail R.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше использовать параметры.
(те у которых ":" в начале)
тогда комп сам преобразует дату к нужному формату,
иначе как ему понять чтО это за дата такая, толи германская, толи американская.
...
Рейтинг: 0 / 0
Господа, поможите пожалста!
    #32187215
Papka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WITH ADOQ_SQL DO BEGIN
SQL.CLEAR;
SQL.Add('INSERT INTO This (date) VALUES (:adate);
PARAMETERS.REFRESH;
PARAMETERS.PARAMVALUES['adate'] := adate;
ExecSQL
END

Primerno tak. Mozhet jest kakije oshibochki, no sam popravish. V takom variante ne nado paritsa nad formatom dati.
...
Рейтинг: 0 / 0
Господа, поможите пожалста!
    #32188303
Фотография ScableR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, спасибо за критику, постараюсь исправиться =). В общем, надеюсь, что с помощью ваших предложений я это исправлю.

2Алексей_S:
А я стараюсь их не называть служебными словами, но иногда вырывается =).
...
Рейтинг: 0 / 0
Господа, поможите пожалста!
    #32188325
Фотография Andrew Campball
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще вариант ошибки (как уже говорилось) использование служебного слова DATE.

Как один из вариантов обхождения ошибки можно предложить заключить это слово в двойные кавычки, т.е.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
WITH ADOQ_SQL DO BEGIN 
SQL.CLEAR; 
SQL.Add('INSERT INTO This ("date") VALUES (:adate); 
PARAMETERS.REFRESH; 
PARAMETERS.PARAMVALUES['adate'] := adate; 
ExecSQL 
END 
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Господа, поможите пожалста!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]