Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вставить дату в таблицу? [D5, MSSQL]


Mikeee ©   (2002-04-21 11:02:00) 

Уважаемые мастаки. Обьясните, пожалуйста, такую штуку.
Запрос :Insert into Dolgnost_order (date, id_sotr, id_dolg, category)
values("21.04.2002 17:44:23", "60", "15", "0"), выдает сообщение об ошибке : "The conversion of a char data type
to a datatime data type resulted in an out-of-range datatime value."
Причем дата и время подставляется в запрос функцией DateTimeToStr(now).
Этот же запрос в Query Analyzer тоже выдает такое же сообщение.
А если я меняю местами дату и месяц, в Query Analyzer запрос выполняется.
Вот я и думаю, это Дельфийский глюк или SQL-сервера? И как с этим бороться?


Ph.D.Kot   (2002-04-22 11:06:00) [1]

задаешь необходимый формат даты в разделе Program твоего проекта... в необходимом виде, напрмер как у меня (для Оракла)
и вставляешь now() и все...
ShortDateFormat:="DD.MM.YYYY";
LongDateFormat:="DD.MM.YYYY";
ShortTimeFormat:="HH:MI:SS";
LongTimeFormat:="HH:MI:SS";
Application.UpdateFormatSettings:=False;


asafr   (2002-04-22 11:00:00) [2]

Насколько догадываюсь date - зарезервированное слово
Insert into Dolgnost_order ( date, id_sotr, id_dolg, category)


Lusha   (2002-04-22 10:53:00) [3]

Попробуйте вставить запись при помощи например Database Desktop... Если не получится, посмотрите значение Use International Settingsв настройках клиента MS SQL Server. Это очень актуально если у Вас Server 6.5...


Ka$per   (2002-04-22 10:14:00) [4]

проще сделать так


query.SQL.Text:="Insert into Dolgnost_order (date, id_sotr, id_dolg, category)
values(:DateTime, ""60"", ""15"", ""0"")";
query.ParamByName("DataTime").AsDateTime:=Now;
query.ExecSQL;


насколько я знаю, эта конструкция не зависит от
формата даты на сервере


Harald   (2002-04-22 10:06:00) [5]

Функции Now() у SQL-сервера нет. Для вставки текущей используй
Date().
Можно после установления связи с сервером выдать
Set dateformat "dmy" и тогда твой запрос должен сработать.


Nest   (2002-04-22 09:58:00) [6]

Так?


Nest   (2002-04-22 09:16:00) [7]

Insert into Dolgnost_order (date, id_sotr, id_dolg, category)
values( getdate(), "60", "15", "0")


amamed_3071   (2002-04-22 09:03:00) [8]

datу передай в формате

Formatdatetime("yyyy-mm-dd hh:nn",Now)


Anatoly Podgoretsky   (2002-04-21 16:14:00) [9]

Откуда я знаю, как ты ее собираешься использовать


Mikeee   (2002-04-21 16:07:00) [10]

Уважаемый Anatoly Podgoretsky ©
А функцию now SQL сервер понимает?


Anatoly Podgoretsky   (2002-04-21 12:06:00) [11]

Нет ни Дельфи ни SQL сервер тут ни причем, что за привычка искать сначанала глюки у других. Начинать надо с себя!
Вмтавлять нужно ф формате, в котором SQL сервер понимает даты, смотри для этого документацию по MS SQL серверу.


Наверх

Титульная страница Поиск, карта сайта Написать письмо