|
SQL запрос. Не записывает данные | ☑ | ||
---|---|---|---|---|
0
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): Операция не допускается, если объект закрыт. |
|||
1
youalex
23.09.21
✎
12:17
|
внешний источник добавить в конфу не вариант?
"Операция не допускается, если объект закрыт." - не похоже на проблемы с датой. Command.CommandText покажи, значений переменных отсюда не видно |
|||
2
kalisto
23.09.21
✎
12:40
|
USE DATABASE
INSERT INTO Table1 VALUES( 'Агафонов', 'Георгий', '23.08.2021 00:00:00', '01.01.0001 00:00:00' ) |
|||
3
kalisto
23.09.21
✎
12:43
|
USE DATABASE
INSERT INTO Table1 VALUES( 'Абаков', 'Алексей', '09.08.2021 00:00:00', '01.01.0001 00:00:00' ) |
|||
4
Fram
23.09.21
✎
12:45
|
Попробуй 2021-08-23
|
|||
5
Fram
23.09.21
✎
12:46
|
Или слитно
|
|||
6
1Сергей
23.09.21
✎
12:46
|
вроде, даты должны быть в таком формате '2011-04-15 00:02:00'
|
|||
7
Fram
23.09.21
✎
12:47
|
Или может там триггер какой навешан на запись, проверяющий даты
|
|||
8
kalisto
23.09.21
✎
12:49
|
(4) Прописала руками значение, запись загрузилась.
Даты все из 1С беру. Ничего не применяю к ним. |
|||
9
ДенисЧ
23.09.21
✎
12:50
|
USE DATABASE
убери из запроса. |
|||
10
kalisto
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 Посмотри и поиграйся форматами. |
|||
12
kalisto
23.09.21
✎
13:02
|
Да. Странная история. Все даты до чисел, у которых первые цифры больше нуля, воспринимаются, как строки, а не даты. Т.е. 07.07.2021 00:00:00 - дата, 24.07.2021 00:00:00 - строка. Пришлось перевернуть даты 2021-07-24, тогда все грузится.
Всем спасибо. Поизучаю тему со стороны sql. |
|||
13
arsik
гуру
23.09.21
✎
13:03
|
||||
14
arsik
гуру
23.09.21
✎
13:06
|
||||
15
kalisto
23.09.21
✎
13:07
|
(13,14) Спасибо)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |