Главная страница
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.018 c
3-96566
labanga
2003-01-12 01:05
2003.01.30
Глюк с запароленной Access


1-96770
tulen
2003-01-22 18:47
2003.01.30
Выпадающее меню.


1-96661
viper
2003-01-21 15:15
2003.01.30
Как узнать количество копий запущеныых программ?


4-97078
valmont
2002-12-15 15:51
2003.01.30
как получиь handle окна, кнопки и т.д.


1-96794
Igit
2003-01-22 20:35
2003.01.30
Low_dword & High_dword