Форум: "Базы";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
ВнизLocate в ADO... Найти похожие ветки
← →
grusty (2003-08-31 15:20) [0]Уважаемые, почему в данной процедуре Locate не находит запись и есть ли выход из положения?
procedure Forma.ButtonClick(Sender: TObject);
var
v: Currency;
begin
v:=10.10;
if ADODataSet.Locate("Val",v,[]) then ShowMessage("Запись найдена!");
end;
В базе ADODataSet поле Val – денежное.
← →
777 (2003-08-31 17:27) [1]Может так?
var
v: string;
begin
v:="10,10р.";
if ADODataSet1.Locate("VAL",v,[]) then ShowMessage("Запись найдена!");
end;
← →
grusty (2003-08-31 17:56) [2]Так будет работать, но мне нужно, чтобы переменная v была не символьная, а числовая. Если сделать FloatToStr(v) или CurrToStr(v), то тоже не работает.
← →
777 (2003-08-31 18:05) [3]Не вижу проблемы :)
procedure Forma.ButtonClick(Sender: TObject);
var
v: Currency;
begin
v:=10.10;
if ADODataSet.Locate("Val",Format("%m",[v]),[]) then ShowMessage("Запись найдена!");
end;
← →
sniknik (2003-08-31 18:55) [4]решение 1
пуск->настройка->панель управления->язык и стандарты|->числа->разделитель целой и дробной части числа - поставь точку - "."
наслаждайся поиском (правильным).
решение 2
передавай в locate строкой (только с разделителем - точка)
← →
grusty (2003-08-31 19:02) [5]Так не работает.
Вот если
v:=10.00; (в таблице есть записи с 10.10 и 10.00)
то все нормально и первый вариант работает.
← →
sniknik (2003-08-31 19:05) [6]grusty © (31.08.03 19:02) [5]
в 10.00 на самом деле точки нет = 10
← →
grusty (2003-08-31 19:06) [7]-->sniknik
Где Вы были раньше... Я 2-й день мучаюсь... Спасибо!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c