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

Вниз

Формат даты в SQL   Найти похожие ветки 

 
Serg De   (2003-08-26 15:54) [0]

Здравствуйте!
Возникла проблема. И что-то никак не пойму в чем дело. Необходимо занести значение текстовой переменной в поле DateTime базы SQL. SQL-запрос: INSERT INTO DATABASE DATE VALUES :DATEQ. Значение текста: S="12.08.2003". Делаю Query1.ParamByName("DATEQ").AsDate:=StrToDate(S). При ExecSQL выдает Invalid Date format. Пробовал VALUES :"DATEQ" и VALUES :"DATEQ", пробовал перед INSERT SET DATEFORMAT "dmy" ставить - не помогает. Где ошибка???
Заранее благодарен.


 
ZrenBy   (2003-08-26 16:01) [1]

Передавай в формате ISO - 20030812

Это формат, который интерпретируется однозначно


 
Miau   (2003-08-26 16:04) [2]

Не знаю, в чём ошибка, но попробуй такой запрос:
Query1.SQL.TEXT:=
"INSERT INTO [DATABASE] ([DATE]) VALUES (CAST("""+s+""" as datetime))"


 
Serg De   (2003-08-26 16:07) [3]

Попробовал. Делфа пишет,что это "not valid date".


 
ZrenBy   (2003-08-26 16:10) [4]

Параметр сделай текстовым

Query1.ParamByName("DATEQ").AsString:=FormatDateTime("yyyymmdd",StrToD ate(S))


 
Serg De   (2003-08-26 16:34) [5]

ZrenBy
В том-то и дело, что параметр должен быть датой, т.к. поле в базе типа datetime и храниться значение должно как Date, а не как String.


 
ZrenBy   (2003-08-26 16:39) [6]

MSSQL Server - это вам не <подставьте нужное>

CREATE TABLE [dbo].[TBL_DATE] (
[A] [datetime] NOT NULL
) ON [PRIMARY]
GO

declare @D char(8)
set @D = "20030812" -- это строка
insert into TBL_DATE (A)values(@D)

GO

select * from TBL_DATE


 
Serg De   (2003-08-26 17:41) [7]

ZrenBy
Спасибо... В принципе получилось немного сложнее, чем хотелось бы, но работает :)


 
stud   (2003-08-27 09:38) [8]

можно еще так:

query1.Params.Items[0].DataType:=ftDate;
query1.ParamByName("dateq").Value:=



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

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

Наверх




Память: 0.45 MB
Время: 0.007 c
3-58594
3APA3A
2003-08-26 14:17
2003.09.18
Выбрать все записи в таблице


3-58578
Andrey007
2003-08-27 14:10
2003.09.18
Подскажите, пожалуйста, как справиться со следующей ошибкой.


1-58754
aleksei85
2003-09-06 14:10
2003.09.18
номер верхней строки в RichEdit


3-58516
Nucl
2003-08-28 16:35
2003.09.18
OleDB for mssql


4-58977
Bill
2003-07-18 16:06
2003.09.18
Перевод строки в число с плавающей точкой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский