powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / БД Postgres при вводе дробей десятичную часть отбрасывает
21 сообщений из 21, страница 1 из 1
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39459912
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставил СУБД postgres 9.3 на друго ПК
в таблице есть поля numeric(20,2)
Грид ehlib при вводе у заказчика дробная часть отбрасывается у меня все нормально работает
Уже устал искать, подскажите где что нужно подправить?
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39459915
b0rk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разделитель дробной части у вас и у заказчика одинаковый установлен?
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39459969
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b0rk,

да разделитель в винде ставили разный и точку и зпт.
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39460293
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну чо делать то? куда смотреть?
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39460348
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81Ну чо делать то? куда смотреть?
Параметризованные запросы используй вместо ad-hoc.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39460398
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81,

В конфиге сервера или подключения разделитель не указывается?
PG81Грид ehlib при вводе у заказчика дробная часть отбрасываетсяА с обычным DBEdit?
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461000
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

и с обычным тоже самое
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461134
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

не работает всего только на одном компе за последние несколько лет установки.
Так и не могу разобраться чем дело. Осложняется тем что прямого доступа к ПК нету((
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461135
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81Так и не могу разобраться чем дело.
И код ты, конечно, ни за что не покажешь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461154
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

та там нет никакого кода вообще.
конекшн->датасет(поле numeric)->датасурс->DBGridEh.
ВСЕ
Компонент подключения к БД unidac
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461365
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Включи дебаг, слей в лог что отправляется на сервер, а затем сразу рефреш строки и посмотри что сохранилось в БД. Надо понять это с клиента в dll уходит фигня, или уже dll с сервером чудят.
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461371
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ну и заодно посмотри что там unidac использовал для коннекта к БД, может какая-то другая прога кинула dll в system32 или еще куда-то. Т.е может программа стала работать через другую dll, а не ту которая нужна тебе.
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461687
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
энди,

Унидак не использует длл
В бд передается уже без дроби
Посмотрел
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461860
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отключи direct режим и попробуй через стандартную библиотеку, может чисто он глючит.
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461868
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А потом выяснится, что юнидак просто неверно определял тип поля и брал вместо float'а -- integer (да, у него такое может быть, если первоначальные данные пустые/левые). В этом случае надо data mapping настроить и напрямую указать тип поля (либо в датасете, либо в рантайме).
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461882
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi,

У меня роля динамичнски создаются нужного типа.

Сделал приложение куда кинул конекшн, квери, датусурс, и грид и все заработало
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39461902
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81,

Вот как раз динамически могут быть проблемы. Например, если первой записью в результатах пойдет целое число (в теории). В рантайме это выглядит так (перед открытием датасета):
Код: pascal
1.
UniDataset.DataTypeMap.AddFieldNameRule('R_MIN_DATE', ftDateTime);
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39462022
Фотография devart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiА потом выяснится, что юнидак просто неверно определял тип поля и брал вместо float'а -- integer (да, у него такое может быть, если первоначальные данные пустые/левые). В этом случае надо data mapping настроить и напрямую указать тип поля (либо в датасете, либо в рантайме).
Все базы данных работают одинаково. Когда вы запросу делаете Prepare или Open, то база данный возвращает список колонок, которые вернет запрос, и их типы. Единственная база, которая грешит возвратом неправильных типов колонок, если результат запроса пустой - это SQLite. Для остальных можно не заморачиваться с настройкой data mapping.
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39462764
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
devart,
помогите пожалуста уже неделю мучиюсь
оказывается не заработало(( там просто рефреш не выполнялся и значение из БД не подтягивалось и я подумал что все норм сохраняется, а оказывается в бд сохранялось значение без дробной части.

1)думаю это не контролы виноваты, так как пробовал разные разных производителей все одинаково.
пробовал просто в поле бд записать значение, не сохраняется дробь
2)если записывать значение через ПЖадмин выполняя например инсерт или заполняя непосредственно в таблицу то значение сохраняется
3)может тип поля как-то поменять или настройки как-то глобальные
4)вот сколько эту программу использую и дорабатываю это в первый раз так, ставил ее на более чем 50 компов
а тут в друг в красндаре на каждом такая фигня, причем с виндой 8 и 7 и лицензия и нет
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39464422
Фотография devart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PG81devart,
помогите пожалуста уже неделю мучиюсь
оказывается не заработало(( там просто рефреш не выполнялся и значение из БД не подтягивалось и я подумал что все норм сохраняется, а оказывается в бд сохранялось значение без дробной части.

1)думаю это не контролы виноваты, так как пробовал разные разных производителей все одинаково.
пробовал просто в поле бд записать значение, не сохраняется дробь
2)если записывать значение через ПЖадмин выполняя например инсерт или заполняя непосредственно в таблицу то значение сохраняется
3)может тип поля как-то поменять или настройки как-то глобальные
4)вот сколько эту программу использую и дорабатываю это в первый раз так, ставил ее на более чем 50 компов
а тут в друг в красндаре на каждом такая фигня, причем с виндой 8 и 7 и лицензия и нет
Чтобы разобраться в чем дело, нам надо знать как минимум следующее:
1. скрипт на создание таблицы. скрипт лучше сгенерировать с помощью PgAdmin с того сервера, где есть проблема с дробной частью, т.к. может оказаться что на всех серверах поле например NUMERIC(10,2), а на проблемном просто NUMERIC(10,0)
2. если настройки сервера PostgreSQL, там где есть проблемы с дробной частью, отличаются от настроек серверов. где все работает, то нам надо знать эти отличия
3. чем отличаются региональные настройки клиентского ПК, где все работает от того, где не работает
автор1)думаю это не контролы виноваты, так как пробовал разные разных производителей все одинаково.
пробовал просто в поле бд записать значение, не сохраняется дробь
нужен пример кода как вы пишете в поле таблицы, а еще лучше, если вы делали отдельное приложение, чтобы воспроизвести приложение, то приатачте его в архиве
...
Рейтинг: 0 / 0
БД Postgres при вводе дробей десятичную часть отбрасывает
    #39464636
PG81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
devart,

благодарю. Устранил установив более новую версию компонентов. Стояла 3.0
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / БД Postgres при вводе дробей десятичную часть отбрасывает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]