Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.24;
Скачать: CL | DM;

Вниз

INSERT INTO MYTABLE (DateTimeField) VALUE (   Найти похожие ветки 

 
ikis ©   (2003-06-27 15:43) [0]

Ответьте, пж-та, на вопрос: как с помощью SQL записать в таблицу текущее дату-время (напр. как subj)?


 
MsGuns ©   (2003-06-27 16:04) [1]

With Query1 do
begin
SQL.Clear;
SQL.Add("INSERT INTO TABLE1");
SQL.Add(" (FlDate");
SQL.Add(" VALUES (:pDt)");
ParamByName("pDt").AsDateTime := NOW;
try
Prepare;
ExecSQL;
except
ShowMessage("O-o-o-opsss !");
exit;
end;
end;


 
Anatoly Podgoretsky ©   (2003-06-27 16:12) [2]

Смотри в справке по Access 2000 какой должен быть формат у дат или что проще через параметр, см. выше


 
ikis ©   (2003-06-27 16:22) [3]

Спасибо, спасибо...
Вот, придумал:
ADOCommand.Execute("INSERT INTO MYTABLE (DateTimeField) VALUES (Date()&" "&Time());

IMHO, немного изящнее, чем через параметр ;о)


 
sniknik ©   (2003-06-27 17:01) [4]

ikis © (27.06.03 16:22)
А как насчет работоспособности такого кода?
если DateTimeField тип дата а не строка работать не должно, со строкой приведет к типу.

такой запрос не "изящьнее" будет?
INSERT INTO MYTABLE (DateTimeField) VALUES (Now())


 
ikis ©   (2003-06-27 17:13) [5]

2 sniknik
Прости, но ты глупость написал. Даже неловко как-то...
Впрочем, я тоже должен поправиться - кавычки в данном случае д. б. двойные:

ADOCommand.Execute("INSERT INTO MYTABLE (DateTimeField) VALUES (Date()&" "&Time());



 
sniknik ©   (2003-06-27 17:19) [6]

извиняюсь что сомневался, но действительно работает. в insert-e и приведение из строки к дате проходит. (в UPDATE тоже работает)
а в условии не срабатывает, странно, разные люди чтоли писали, я уж думал что везде нужно формат даты (##) ставить.
даже так работает
UPDATE CopyT SET ДатаЗаявки="27.06.2003 17:08:43"


 
sniknik ©   (2003-06-27 17:22) [7]

ikis © (27.06.03 17:13)
кавычки без разници, jet оба (" ") понимает.

и не такая уж глупость, у тебя двойное приведение типа, медленней работаь будет.


 
Vorobyev Sergey   (2003-06-28 07:51) [8]

В Interbase можно например так без заморочек с приведениями форматов даты/времени:

INSERT INTO MYTABLE (DateTimeField)
VALUES (CURRENT_TIME) или

INSERT INTO MYTABLE (DateTimeField)
VALUES (CURRENT_TIME_STAMP)

Может что-то подобное можно и в Access? Наверняка можно..


 
sniknik ©   (2003-06-28 08:32) [9]

Vorobyev Sergey (28.06.03 07:51)
> Может что-то подобное можно и в Access? Наверняка можно..

sniknik © (27.06.03 17:01)
> такой запрос не "изящьнее" будет?
> INSERT INTO MYTABLE (DateTimeField) VALUES (Now())


 
Vorobyev Sergey   (2003-06-28 09:33) [10]


> sniknik © (27.06.03 17:01)
> > такой запрос не "изящьнее" будет?
> > INSERT INTO MYTABLE (DateTimeField) VALUES (Now())


Простите, я не совсем понял, Now() это что, встроенная функция в SQL Access-a?


 
sniknik ©   (2003-06-28 14:27) [11]

Vorobyev Sergey (28.06.03 09:33)
> Простите, я не совсем понял, Now() это что, встроенная функция в SQL Access-a?

можно считать и так, Jet (движок Access баз) позволяет некоторые функции из бейсика в запросах (кстати Date и Time тоже оттуда), список можно посмотреть в Visual Basic Reference, только не все оттуда сработает.
(пусть некоторые это и считают глупостью до неловкости :о))


 
ikis ©   (2003-07-01 09:19) [12]

sniknik ©
>>(пусть некоторые это и считают глупостью до неловкости :о))

Должен принести свои извинения - функция Now() в VB присутствует, и она действительно возвращает текущие дату и время:
ADOCommand.Execute( "INSERT INTO MYTABLE (DateTimeField) VALUES ( Now() )" );

А по поводу кавычек - в данном случае нужно использовать кавычки разных типов, иначе компилятор выдаст сообщение об ошибке:
ADOCommand.Execute( "INSERT INTO MYTABLE (DateTimeField) VALUES ( Date()&" "&Time() )" );

Ну и, конечно, никакого приведения типов здесь нет и не было.
Полагаю, тема закрыта. Спасибо всем!




Страницы: 1 вся ветка

Текущий архив: 2003.07.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
1-77855
Navi
2003-07-12 08:57
2003.07.24
CharSet


14-78134
Alexey
2003-07-09 10:20
2003.07.24
Web Server


1-77836
Rowell
2003-07-12 01:41
2003.07.24
Автоскроллинг в ListBox


14-78068
Maryan
2003-07-07 19:03
2003.07.24
Нужен файл dsgnintf.dcu


1-77960
R
2003-07-11 07:38
2003.07.24
Уничтожение массива из списков