![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Locate [D7, MSSQL]
Explorer © (2003-03-13 08:32:00)Мастера!
if CheckBox2.Checked then
ADOQueryReestr.Locate("SummaPayment", RxCalcEdit1.Text, [loCaseInsensitive,loPartialKey]);
Ищет только целые числа (Ex: 454, 76 и т.д). А такие, как 45.76 или 676.70 не находит.
Поле "SummaPayment" - тип float.
Пробовал писать так StrToFloat(RxCalcEdit1.Text), но таже история!
Подскажите, где я чего упустил?
Explorer (2003-03-13 11:47:00) [1]Понятно.
Всем большое спасибо!
Anatoly Podgoretsky (2003-03-13 11:22:00) [2]Explorer © (13.03.03 09:50)
И не поможет хранение на сервере и на клиенте может отличаться, только сканирование по записяи и то с учетом эпсилона.
Desdechado (2003-03-13 11:17:00) [3]а ты попробуй не Locate, а простым походом по записям с любым анализом (это чуть больше кода, чуть медленнее, зато учесть можно ВСЕ)
Explorer (2003-03-13 09:50:00) [4]>edst ©
Это тоже не помогло.
edst (2003-03-13 09:09:00) [5]Ответ очень прост!
Вместо типа Floatиспользуй Currencyи все будет как и должно быть.
Explorer (2003-03-13 08:51:00) [6]А как можно это решить?
Anatoly Podgoretsky (2003-03-13 08:48:00) [7]Да пропустил, представление реальных чисел в памяти, а точнее их ограниченную точность. Твоя строка 45.76 может совсем не совпадать с представлением числа 45.76 в памяти и хранением в базе.