Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > добавление даты


Автор: javas 20.8.2004, 00:24
SQL запрос для добавления даты в Access?
У меня 2 одинаковых запроса, содержащие дату 1-й проходит, 2-й нет. hehe.gif Тупость какая-та.
Этот не проходит:
Код
INSERT INTO My (Date ) VALUES ('01.01.2003');

Поле Время.

Автор: <Spawn> 20.8.2004, 05:17
Насколько я помню по недавнему посту, то в Access дату нужно обрамлять символами #(хотя не уверен):

Код
INSERT INTO My (Date ) VALUES (#01.01.2003#);


Чобы не было таких проблем используй параметры.

Автор: Pakshin A. S. 20.8.2004, 16:29
А у меня всегда и с ' пахало....

А можно пример работающего SQL- запроса, содержащего дату.

Автор: javas 20.8.2004, 22:37
Не работает:
Код

INSERT INTO kredit (Date) VALUES ('01.01.2004');

Работает:
Код

INSERT INTO info (adress, fio, inn, PassportDate, PassportNumber,PassportSeria, PassportWho, Propiska, tel )VALUES ( 'вава', 'ВАва', '678987656789', '01.01.2004', '34','34', 'рпо', 'роп', '334');


Автор: Pakshin A. S. 20.8.2004, 22:39
Проверь типы полей, может что-то напутано? Ведь должно работать... sad.gif
Лично у меня всё пашет...
Добавлено @ 22:46
biggrin.gif Не увидел biggrin.gif
Проблема твоя решена:
переименуй Dete в KreditDate! И всё!

Просто SQL воспринимает Date как тип поля.... ну тупая вещь... ничего не поделать.

Автор: Vit 20.8.2004, 23:00
Цитата(Pakshin @ 20.8.2004, 13:39)
ничего не поделать



А так:

INSERT INTO [Date] VALUES ('01.01.2004');


Автор: javas 21.8.2004, 00:17
to Pakshin A. S. Да тоже догадался сейчас biggrin.gif А такое чувство, будто головой в стенку бился.
to Vit Да ты тоже прав.
Всем спасибо. smile.gif

Автор: Pakshin A. S. 21.8.2004, 13:25
Vit
Ни разу не видел такого... sad.gif
Если не трудно, объясни пожалуйста... smile.gif

Автор: Vit 21.8.2004, 15:19
В мелкософте приняли такое расширение SQL - имена полей и т.п. если они нестандартные - например зарезервированные слова или слова с пробелами и т.п. заключаются в квадратные скобки и всё работает:

Код
Select [день рождения], [date], [select] from MyTable

Автор: javas 21.8.2004, 20:09
А работа с датой в Access'e с не получается:
Код

SELECT Srok FROM kredit WHERE Dates < '01.01.2004';

Почему?
Добавлено @ 20:18
Все просек, надо использовать DateValue('01.01.2005');

Автор: Pakshin A. S. 21.8.2004, 21:11
Vit
А у меня что-то не сработало..... sad.gif

Автор: Pakshin A. S. 22.8.2004, 22:00
Пишу:
Код

INSERT INTO Demo ([Date]) VALUES ('01.01.2004');


Ответ: hmmm.gif
Цитата

Invalid use of keyword.
Token: [DATE])
Line Number:1.
mad.gif

Может это только в Access? У меня Paradox база... sad.gif

Автор: Vit 23.8.2004, 03:48
Это только MS Access и MS SQL Server. Может ещё и Foxpro... Короче базы данных от MS. Для парадокса и вообще BDE синтаксис в этом случае другой:

Код
INSERT INTO Demo ("Demo"."Date") VALUES ('01.01.2004')



т.е. для зарезервированных слов в названиях полей вводится название таблицы в кавычках+точка+название поля в кавычках

Автор: Pakshin A. S. 24.8.2004, 17:34
Спасибо. Понял...

Автор: Vit 24.8.2004, 17:48
smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)