Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как использовать ВыполнитьSQL_ИзТЗ и datetime? (число прочтений - 2109 )
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Как использовать ВыполнитьSQL_ИзТЗ и datetime?
30. Мая 2008 :: 06:25
Печать  
1. Есть:
Код
Выбрать все
CREATE TABLE [tbl1] (
	[Date_Time] [datetime] NOT NULL
) ON [PRIMARY] 



2. Код:
Код
Выбрать все
ТекТаб = СоздатьОбъект("ТаблицаЗначений");

ТекТаб.НоваяКолонка("ДатЧас", "Строка", 23);

ТекТаб.НоваяСтрока();
ТекТаб.ДатЧас = "2008-05-29 13:32:37.340";

SQLSes.Подготовить("
|INSERT INTO [dbo].[tbl1]
|			(Date_Time)
|VALUES
|			(?)
|");

SQLSes.ВыполнитьSQL_ИзТЗ(ТекТаб, ТекТаб.КоличествоСтрок()); 



3. Результат:
SQLSes.ВыполнитьSQL_ИзТЗ(ТекТаб, ТекТаб.КоличествоСтрок());
State 22007, native 0, message [Microsoft][ODBC SQL Server Driver]Invalid time format


4. Профайлер:
declare @P1 int
set @P1=5
exec sp_prepare @P1 output, N'@P1 datetime', N'
INSERT INTO [dbo].[tbl1]
                 (Date_Time)
VALUES
                 (@P1)
', 1
select @P1


5. Среда:
- 1С++ 2.0.3.7
- Microsoft SQL Server  2000 - 8.00.2040 (Intel X86)   May 13 2005 18:33:17   Copyright (c) 1988-2003 Microsoft Corporation  Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

В чем я ошибаюсь?
Спасибо.
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Как использовать ВыполнитьSQL_ИзТЗ и datetime?
Ответ #1 - 30. Мая 2008 :: 06:40
Печать  
ДопПраметр не забыл?
  

1&&2&&3
Наверх
 
IP записан
 
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как использовать ВыполнитьSQL_ИзТЗ и datetime?
Ответ #2 - 30. Мая 2008 :: 07:02
Печать  
trad писал(а) 30. Мая 2008 :: 06:40:
ДопПраметр не забыл?


Пробовал с:
Код
Выбрать все
SQLSes.ДобПараметр(1, 8, 23, 0); 


При этом "полет 1С" резко прерывается... Даже ничего не сообщая.
  
Наверх
ICQ  
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Как использовать ВыполнитьSQL_ИзТЗ и datetime?
Ответ #3 - 30. Мая 2008 :: 07:12
Печать  
ИМХО на входе строка, а её пытаются впихнуть в поле дататайм

Попробуй

SQLSes.Подготовить("
|INSERT INTO [dbo].[tbl1]
|                  Cast(Date_Time as datetime)
|VALUES
|                  (?)
|");
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Как использовать ВыполнитьSQL_ИзТЗ и datetime?
Ответ #4 - 30. Мая 2008 :: 07:17
Печать  
ДобПараметр(1,14,23,0);
  

1&&2&&3
Наверх
 
IP записан
 
chicago
Senior Member
****
Отсутствует


1C++, I have nothing to
say more!

Сообщений: 316
Местоположение: Тернополь-Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как использовать ВыполнитьSQL_ИзТЗ и datetime?
Ответ #5 - 30. Мая 2008 :: 07:22
Печать  
trad писал(а) 30. Мая 2008 :: 07:17:
ДобПараметр(1,14,23,0);

Да, оно.
Спасибо.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать