Bill_PHO
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору SergeBS А ты сам это попробовал - или это как бы теоретически? Практически я сам конечно же это пробовал - ничего не получилось. Не получается именно через ADO соединение + ADOQuery (через TDatabase+обычный Query - получается). В Delphi2005/Delphi2006 - это срабатывает, хотя и криво. Ведь речь идет о точном формате числа с каким-то количеством знаков после запятой. А в свойствах Tfields ADOQuery, получается вытащить все знаки (в Delphi2005/2006), если задать тип поля float, а ведь это неточное представление числа, имеющего знаки после запятой. Т.е. хотелось бы вытаскивать точное значение. Добавлено: ShIvADeSt Как же я могу взять данные через обычный Query, если у него нет свойства ADOConnection? Я так и писал, что через ODBC соединение (через TDatabase+обычный Query) все нормально вытаскивается, а вот через TADOConnection+TADOQuery - нет. Вообще во всех редакциях Delphi имеется странность в работе с точными числами. Например, если вы посмотрите отладчиком, как выполняются действия с числами типа Currency, то увидите, что выполняются они на сопроцессоре, то есть преобразуются в плавающий формат и обратно. Может кто может объяснить философию такого поведения. При этом на разных компьютерах можно получить разный результат по причине работы сопросессоров в разных режимах (а это может зависить от наставленного софта. Некоторые программы принудительно переводят сопроцессор в нужный им режим ). Добавлено: SergeBS Используя формат, получишь указанное число знаков после запятой, но значащих из них будет только 4, остальные нули. | Всего записей: 287 | Зарегистр. 15-08-2003 | Отправлено: 11:23 13-12-2005 | Исправлено: Bill_PHO, 16:56 13-12-2005 |
|