|
Как правильно использовать формат в данном случае | ☑ | ||
---|---|---|---|---|
0
1ctube
14.09.18
✎
16:25
|
День добрый. Из 1с льются данные в базу скл. В запросе в 1с есть строка на которую она ругается при выгрузке, вот:
|AND dategood= '" + Формат(НаборЗаписей.Fields("dategood").Value, "ДФ=""гггг""") + "'"; Тип поля dategood в базе скл: int. И данные в нём хранятся в таком виде: 2018 А ошибка такая: Произошла исключительная ситуация (Microsoft OLE DB Provider for SQL Server): Conversion failed when converting the varchar value '2 018' to data type int. Думаю из-за того что год стал таким:2 018 Вопрос: как это исправить? |
|||
1
Cool_Profi
14.09.18
✎
16:28
|
НаборЗаписей.Fields("dategood").Value
Это как выглядит в отладчике? |
|||
2
dmt
14.09.18
✎
16:28
|
стрЗаменить(Перем, Символы.НПП, "")
|
|||
3
s03
14.09.18
✎
16:28
|
(0) а возможно из-за пустой даты, при таком "формате" пустая дата будет пустой строкой, а в базе sql нужно число. Добавь в формате как должна отображаться пустая дата
|
|||
4
Пуля
14.09.18
✎
16:28
|
Тебе же говорят , после формата = типстрока, а ты его в число пихуешь?
|
|||
5
Лефмихалыч
14.09.18
✎
16:28
|
ЧГ=0
|
|||
6
Пуля
14.09.18
✎
16:29
|
Кто все эти люди?
|
|||
7
1ctube
14.09.18
✎
16:31
|
(3) А как это сделать?
|
|||
8
1ctube
14.09.18
✎
16:32
|
(4) И что теперь делать?
|
|||
9
1ctube
14.09.18
✎
16:32
|
(1) Выглядит так: 2 018
|
|||
10
dmt
14.09.18
✎
16:33
|
если "Тип поля dategood в базе скл: int", зачем формат даты использовать?
|
|||
11
Лефмихалыч
14.09.18
✎
16:33
|
что возвращает ТипЗнч(НаборЗаписей.Fields("dategood").Value)?
|
|||
12
Пуля
14.09.18
✎
16:36
|
СКЛ === CONVERT(int, Херь) AS int
1С= Число(Херь) |
|||
13
Cool_Profi
14.09.18
✎
16:36
|
А если так
|AND dategood= '" + Формат(НаборЗаписей.Fields("dategood").Value, ""ЧГ=""") + "'"; ? |
|||
14
Лефмихалыч
14.09.18
✎
16:39
|
(13) а этого варианта он не видит еще с поста №5
|
|||
15
RomanYS
14.09.18
✎
16:44
|
Блин sql хочет число, а Вы ему пихаете строку.
Я не знаю, как sql отличает строки от чисел, но скорее всего надо просто убрать кавычки. |
|||
16
Cool_Profi
14.09.18
✎
16:48
|
(14) Он, наверное, просто не понял, куда ему это пихнуть...
|
|||
17
1ctube
14.09.18
✎
16:49
|
(13) После вашего варианта dategood принимает тип строка?
|
|||
18
Вафель
14.09.18
✎
16:49
|
(15) вообще то в ТЕКСТЕ запроса никак не может быть числа, только строки
|
|||
19
MyNameIs
14.09.18
✎
16:49
|
(13) |AND dategood= " + Формат(НаборЗаписей.Fields("dategood").Value, ""ЧГ=0"");
|
|||
20
Cool_Profi
14.09.18
✎
16:51
|
(17) Скуль, зараза, умный. Сам сконвертит, если сможет
|
|||
21
spiller26
14.09.18
✎
16:52
|
(0) У вас при форматирование происходит преобразование в "2 018"
|
|||
22
hhhh
14.09.18
✎
16:52
|
(18) кавычки тогда ведь по-любому убрать надо.
|
|||
23
1ctube
14.09.18
✎
16:53
|
(19) Ошибка при запуске:
Ожидается символ ')' |
|||
24
MyNameIs
14.09.18
✎
16:54
|
(23) дай больше инфы
|
|||
25
RomanYS
14.09.18
✎
16:54
|
(18) речь про одинарные кавычки окружающие год
|
|||
26
Лефмихалыч
14.09.18
✎
16:54
|
(23) ну, так исправь ошибку-то
|
|||
27
Cool_Profi
14.09.18
✎
16:55
|
|AND dategood= " + Формат(НаборЗаписей.Fields("dategood").Value, "ЧГ=0") + "
|
|||
28
spiller26
14.09.18
✎
16:55
|
Формат(2018, "ЧЦ=4; ЧРГ=; ЧВН=; ЧГ=")
|
|||
29
hhhh
14.09.18
✎
16:55
|
(23) скобки лень сосчитать уже? ну вы даете. Пятница.
|
|||
30
RomanYS
14.09.18
✎
16:56
|
самый просто вариант - тупо проверить:
AND dategood = 2018 Если так работает, то проблема в кавычках |
|||
31
MyNameIs
14.09.18
✎
16:57
|
|AND dategood= " + Формат(НаборЗаписей.Fields("dategood").Value, "ЧГ=0");
вот это точно должно запустить! |
|||
32
spiller26
14.09.18
✎
16:57
|
(28) хотя этого достаточно
Формат(2018, "ДФ=гггг; ЧГ=") |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |