![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вставить дату в таблицу? [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 серверу.