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

Вниз

Вставка даты в таблицу   Найти похожие ветки 

 
idpro ©   (2003-01-11 15:37) [0]

Помогите с простым вроде вопросом:
используя ADOQuery я предаю ему на выполнение скомпанованный запрос:
"insert into Table_name (d_date) values ("+ sYYYYMMDD+ ")"
где d_date - поле типа datetime, sYYYYMMDD - строка, в которой содержится дата.
в каком виде мне нужно передавать эту строку, чтоб получить нормальный вид даты?
при передачи строки вида "2003-01-01" получается 22.06.1905


 
gsu ©   (2003-01-11 15:40) [1]

datetime - это число, поэтому надо строку конвертнуть в дату, н-р, DateTimeToStr


 
idpro ©   (2003-01-11 15:47) [2]

я не допонял: sYYYYMMDD - переменная типа string, компануется из двух чисел - месяц и год, (например 02 и 2003).
что мне сделать с ней, перед тем как подставитьв запрос?


 
gsu ©   (2003-01-11 15:54) [3]

insert into Table_name (d_date) values (DateTimeToStr("01.02.2003"))
и вообще "+ sYYYYMMDD+ " - это не строка, в которой содержится дата, а строка:
+ sYYYYMMDD+


 
idpro ©   (2003-01-11 16:02) [4]

нет, это часть строки, которая передается в ADOquery
adoquery1.sql.append(
"insert into Table_name (d_date) values ("
+ sYYYYMMDD+
")");


 
gsu ©   (2003-01-11 16:05) [5]

adoquery1.sql.append(
"insert into Table_name (d_date) values (StrToDateTime(sYYYYMMDD))
");
Так не пойдет ?


 
idpro ©   (2003-01-11 16:10) [6]

нет, StrToDateTime - дельфийская функция, а это формируется sql запрос, он должен быть строкой.
в "values("+" "+")" нужно вставлять именно строку.


 
gsu ©   (2003-01-11 16:25) [7]

1. погоди, если ты вставляешь данные в поле DateTime, то и типа они должны быть такого же.
2. я стормозил про нужно вставлять именно строку
3. попробуй так:adoquery1.sql.append(
"insert into Table_name (d_date) values ("
+"01.02.2003"+")"); - тут многое зависит от настроек разделителей даты в системе и values
4. или так: adoquery1.sql.append(
"insert into Table_name (d_date) values ("
+"37653"+")");- шуршит ?


 
Rina   (2003-01-12 00:59) [8]

Насколько помниться дата при передаче в запрос идет с кавычками
Поэтому предложить могу следующее
adoquery1.sql.append(
"insert into Table_name (d_date) values ("""
+"01.02.2003"+""")");


 
Alex-Alexeev   (2003-01-13 08:49) [9]


sYYYYMMDD := "20030113"; {т.е. сегодня в формате YYYYMMDD}
ADOQuery.SQL.Text := "insert into Table_name (d_date) values ("""+ sYYYYMMDD+ """)"; {Здесь саму строку уже в строке запроса тоже надо в апострофы заключать}
ADOQuery.ExecSQL;



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
4-97109
Роман_
2002-12-14 19:47
2003.01.30
Как правильно передать параметр в thread


14-96946
Driverrr
2003-01-12 11:56
2003.01.30
?


8-96886
Иришка
2002-10-16 13:08
2003.01.30
простенький вопросец, а ответ на него мне может очень помочь


1-96779
Armageddon
2003-01-22 10:00
2003.01.30
BitBtn


1-96693
Романов Р.В.
2003-01-21 16:26
2003.01.30
Edit без фокуса