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


Ошибка преобразования значения varchar в тип данных int

Ошибка преобразования значения varchar в тип данных int
Я
   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с?
 
 
   shuhard
 
1 - 24.06.18 - 15:19
(0) в 100500 раз
2 018 не число, число 2018
   1ctube
 
2 - 24.06.18 - 15:22
(1) значит, когда из скл в 1с я получаю данные НаборЗаписей.Fields("Year").Value то 1с форматирует число в строку? Если в скл 2018, в 1с получается "2 018"?
   МихаилМ
 
3 - 24.06.18 - 15:23
   Смотрящий
 
4 - 24.06.18 - 15:32
Это конечно жесть когда число отдается нечислом ...
   youalex
 
5 - 24.06.18 - 15:36
(0) не понял.
Если "Тип поля "Year "в скл как раз int", то зачем ты литерал в условии включаешь в одинарные кавычки?
вот это: = '" +  + "'"  ?

Ну и, конечно, если записать литерал без пробела, даже в кавычках,  то умный скуль его неявно преобразует в int
   spectre1978
 
6 - 24.06.18 - 15:37
(0) а зачем одинарные кавычки? И почему не воспользоваться ADO параметрами вместо того чтобы формировать запрос из кусков?
   hhhh
 
7 - 24.06.18 - 16:10
(0) AND Year = '" + Формат(НаборЗаписей.Fields("Year").Value, "ЧГ=0") + "'";

с тебя 500р в кассу мисты.
   Asmody
 
8 - 24.06.18 - 17:44
(4) Жесть когда число при неявном преобразовании в строку получает расделители разрядов.
   Asmody
 
9 - 24.06.18 - 17:47
Еще большая жесть когда из внешнего источника данные прямо в запрос без проверки пихают.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует