Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Изменение данных ListBox


Автор: Berliner 18.4.2006, 11:38
Подскажите пожалуста , почему при перемещении на другой Item в ListBox. Значение переменной ToppingPrice- не меняется? На том событии  код? 
Код

procedure TForm3.ListBox1Click(Sender: TObject);

begin

       k:=ListBox1.ItemIndex;
       s:=ListBox1.Items.Strings[k];
       
Form1.Query2.Close;
Form1.Query2.SQL.Clear;
Form1.Query2.SQL.Add('Select * from topping');
Form1.Query2.Open;
ToppingPrice:=StrToFloat(Form1.Query2.Fields[1].AsString);
Form3.Label5.Caption:=FloatToStr(ToppingPrice);
end;
end.
 

Автор: Tror 18.4.2006, 12:06
Berliner, соберись пожалуйста, и в следующий раз попробуй более
тщательно проверить код, перед тем как задать вопрос. smile 

Собственно, по существу вопроса:

Код

Form1.Query2.SQL.Add('Select * from topping');

где в этой стоке ты видишь условие?
при таком запросе в выборку будут всегда попадать все записи, а

Код

ToppingPrice:=StrToFloat(Form1.Query2.Fields[1].AsString);


будет все время возвращать ToppingPrice из первой строки выборки

из всего этого следует
Код

Query2.SQL.Add('Select * from topping where topping = :ToppingParam');
Query2.SQL.Params(Query2.SQL.Text, True);
Query2.Params.ParamByName('ToppingParam').Value := s;
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)