Вход | Регистрация
 

SQL запрос. Не записывает данные

SQL запрос. Не записывает данные
Я
   kalisto
 
23.09.21 - 12:09
Всем привет.

Не пойму, что происходит. Отправляю прямым запросом данные из 1С ЗУП КОРП 2.5 в SQL (2017) с данными по сотрудникам ФИО, дата приема, дата увольнения.

В одном случае запись попадает в таблицу sql, в другом нет. Причина в дате приема.
Например, запись с датой 23.08.2021 00:00:00 не записывается, а запись с датой 09.08.2021 00:00:00 записывается.
В sql поля приема и увольнения имеют тип date.
Подскажите, что делать, кто сталкивался.
Запрос:
Command.CommandText = "USE DATABASE
                    |INSERT INTO Table1 VALUES(
                    |'"+LAST_NAME+"',
                    |'"+FIRST_NAME+"',
                    |'"+Date_accept+"',
                    |'"+Date_fired +"'
                    |)";
Command.Execute();
При этом получаю ошибку:
Произошла исключительная ситуация (ADODB.Recordset): Операция не допускается, если объект закрыт.
   youalex
 
1 - 23.09.21 - 12:17
внешний источник добавить в конфу не вариант?
"Операция не допускается, если объект закрыт." - не похоже на проблемы с датой.
Command.CommandText покажи, значений переменных отсюда не видно
   kalisto
 
2 - 23.09.21 - 12:40
USE DATABASE
INSERT INTO Table1 VALUES(
'Агафонов',
'Георгий',
'23.08.2021 00:00:00',
'01.01.0001 00:00:00'
)
   kalisto
 
3 - 23.09.21 - 12:43
USE DATABASE
INSERT INTO Table1 VALUES(
'Абаков',
'Алексей',
'09.08.2021 00:00:00',
'01.01.0001 00:00:00'
)
   Fram
 
4 - 23.09.21 - 12:45
Попробуй 2021-08-23
   Fram
 
5 - 23.09.21 - 12:46
Или слитно
   1Сергей
 
6 - 23.09.21 - 12:46
вроде, даты должны быть в таком формате '2011-04-15 00:02:00'
   Fram
 
7 - 23.09.21 - 12:47
Или может там триггер какой навешан на запись, проверяющий даты
   kalisto
 
8 - 23.09.21 - 12:49
(4) Прописала руками значение, запись загрузилась.
Даты все из 1С беру. Ничего не применяю к ним.
   ДенисЧ
 
9 - 23.09.21 - 12:50
USE DATABASE
убери из запроса.
   kalisto
 
10 - 23.09.21 - 12:52
(9) убрала строку, получила ошибку
Conversion failed when converting date and/or time from character string.
Видимо, sql воспринимает дату, как строку. Но почему?
   ДенисЧ
 
11 - 23.09.21 - 13:01
(10) Потому что не тот формат, что он ждёт.
https://docs.microsoft.com/ru-ru/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-ver15
Посмотри и поиграйся форматами.
   kalisto
 
12 - 23.09.21 - 13:02
Да. Странная история. Все даты до чисел, у которых первые цифры больше нуля, воспринимаются, как строки, а не даты. Т.е. 07.07.2021 00:00:00 - дата, 24.07.2021 00:00:00 - строка. Пришлось перевернуть даты 2021-07-24, тогда все грузится.
Всем спасибо.
Поизучаю тему со стороны sql.
   arsik
 
13 - 23.09.21 - 13:03
   arsik
 
14 - 23.09.21 - 13:06
   kalisto
 
15 - 23.09.21 - 13:07
(13,14) Спасибо)

Список тем форума
 
Здесь можно задать вопрос "Как сделать?" и получить кучу ответов, что тебе это делать не надо. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.