|
Ошибка преобразования значения varchar в тип данных int |
☑ |
0
1ctube
24.06.18
✎
15:18
|
День добрый. Из 1с записываю данные в скл. Есть запрос, с условием:
AND Year = '" + НаборЗаписей.Fields("Year").Value + "'";
Так вот, после выполнения, 1с выдаёт ошибку:
Ошибка преобразования значения varchar "2 018" в тип данных int.
Тип поля "Year "в скл как раз int, и значения в поле скльной базы:"2018".
Это значит вот здесь: НаборЗаписей.Fields("Year").Value данные представлены в типе данных varchar ? Как преобразовать в int на стороне 1с?
|
|
1
shuhard
24.06.18
✎
15:19
|
(0) в 100500 раз
2 018 не число, число 2018
|
|
2
1ctube
24.06.18
✎
15:22
|
(1) значит, когда из скл в 1с я получаю данные НаборЗаписей.Fields("Year").Value то 1с форматирует число в строку? Если в скл 2018, в 1с получается "2 018"?
|
|
3
МихаилМ
24.06.18
✎
15:23
|
+(1)
|
|
4
Смотрящий
24.06.18
✎
15:32
|
Это конечно жесть когда число отдается нечислом ...
|
|
5
youalex
24.06.18
✎
15:36
|
(0) не понял.
Если "Тип поля "Year "в скл как раз int", то зачем ты литерал в условии включаешь в одинарные кавычки?
вот это: = '" + + "'" ?
Ну и, конечно, если записать литерал без пробела, даже в кавычках, то умный скуль его неявно преобразует в int
|
|
6
spectre1978
24.06.18
✎
15:37
|
(0) а зачем одинарные кавычки? И почему не воспользоваться ADO параметрами вместо того чтобы формировать запрос из кусков?
|
|
7
hhhh
24.06.18
✎
16:10
|
(0) AND Year = '" + Формат(НаборЗаписей.Fields("Year").Value, "ЧГ=0") + "'";
с тебя 500р в кассу мисты.
|
|
8
Asmody
24.06.18
✎
17:44
|
(4) Жесть когда число при неявном преобразовании в строку получает расделители разрядов.
|
|
9
Asmody
24.06.18
✎
17:47
|
Еще большая жесть когда из внешнего источника данные прямо в запрос без проверки пихают.
|
|