|
|
|
Как правильно использовать формат в данном случае | ☑ | ||
|---|---|---|---|---|
|
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, "ДФ=гггг; ЧГ=") |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |