|
Прямой запрос получает только целую часть числа
| ☑ |
0
SashaNox
11.03.15
✎
10:53
|
Добрый день!
Подключаюсь к некой БД таким образом:
Соединение = Новый COMОбъект("ADODB.Connection");
СтрокаСоединения = "Provider=MSDASQL.1;Password=Пароль;Persist Security Info=True;User ID=Логин;Extended Properties="DRIVER=Client Access ODBC Driver (32-bit);SYSTEM=192.168.0.1;UID=Логин;DBQ=frpdta;DFTPKGLIB=QGPL;LANGUAGEID=ENU;PKG=QGPL/DEFAULT(IBM),2,0,1,0,512;QRYSTGLMT=-1;XDYNAMIC=0;TRANSLATE=1;SIGNON=1;";Initial Catalog=GBEDCJDE;QueryTimeout=0";
Соединение.Open(СтрокаСоединения);
Далее выполняю запрос:
Выборка = Соединение.Execute(ТекстЗапроса);
Самый простой запрос возвращает только целую часть чисел, дробная часть отсекается.
Например запрос:
select 1.123 as fff from TAB
Возвращает 1
Подскажите как быть? Может какого то параметра в строке соединения не хватает?
|
|
1
фобка
11.03.15
✎
10:57
|
Куда возвращает? А если "cast(1.123 as numeric(10,2)) as fff"?
|
|
2
SashaNox
11.03.15
✎
11:03
|
(1) в таблицу. Результат аналогичный 1
|
|
3
Ненавижу 1С
гуру
11.03.15
✎
11:06
|
(2) в какую таблицу? может у тебя там точность равно 0 знаков
|
|
4
фобка
11.03.15
✎
11:07
|
(2) значит задай тип колонки в тз, как ты это выгружаешь ты не указал
|
|
5
SashaNox
11.03.15
✎
11:09
|
Извиняюсь за неточность описания, делаю так:
Пока Выборка.EOF() = 0 Цикл
Значение = Выборка.Fields("fff").Value;
Выборка.MoveNext();
КонецЦикла;
Дальше выборка преобразуется в таблицу, в данном случае Значение = 1.
|
|
6
Новый участник
11.03.15
✎
11:15
|
Умножь поле на тыщу, получи его, подели на тыщу в своём коде.
|
|
7
SashaNox
11.03.15
✎
11:18
|
(6) гениально)) сработало
|
|
Независимо от того, куда вы едете — это в гору и против ветра!