Необходимо выбрать часть данных в таблице, Делаеться через
ADOQuery, а потом просмотреть все значения - просматриваются в цикле.
Высылаю кусок кода:
Form_main.ADOQuery_TovarInfoKat.Close;
Form_main.ADOQuery_TovarInfoKat.Parameters.ParamByName('PriceNull').Value:=-1;
Form_main.ADOQuery_TovarInfoKat.Parameters.ParamByName('Kat').Value:=IntToStr(Co deKat);
Form_main.ADOQuery_TovarInfoKat.Open;
Form_main.ADOQuery_TovarInfoKat.First;
while not Form_main.ADOQuery_TovarInfoKat.Eof do
begin
TextArt:= Form_main.ADOQuery_TovarInfoKatArt.Value;
....
Обнаружена проблема, если поле Art в запросе пустое, то в строчке TextArt:= Form_main.ADOQuery_TovarInfoKatArt.Value; переменной TextArt присваевается предыдущее значение.
Т.е., например, в таблице, Поле Art:
1256
(пусто)
(пусто)
1476
(пусто)
(пусто)
то в результате выполнения запроса, переменной TextArt в цикле будет присвоены значения:
1256
1256
1256
1476
1476
1476
т.е. пустые значения будут заменены на предыдущие.
Подскажите почему это происходит?
А главное, как это исправить?
Сам запрос:
select * from price_main, Price_Tovar_Info
where
price_main.Code = Price_Tovar_Info.Code and
kategor=:kat and
(price_1>:PriceNull)
order by tovar