Цитата(kulikoff @ 2.1.2006, 12:35) | Что тут неправильно |
.....значит стиль такой... раз юзаешь DSQL тогда параметры можно не использовать... значит можно переписать вот так наверное:
Код | procedure TForm1.Button2Click(Sender: TObject); var a,i: integer; begin Query1.Active:=False; Query1.SQL.Clear; Query1.SQL.Text:='select BANKID from BANK, BANKVUP where BANK.BANKMFO=BANKVUP.BANKMFO'; //Query1.Prepare; // люди добрые объясните мне что эта штука делает // всю жизнь без него обходился.... Query1.Active:=True; Label3.Caption:=IntToStr(Query1.RecordCount); a:=Query1.RecordCount; for i:=1 to a do begin Query2.Active:=False; Query2.SQL.Clear; Query2.SQL.Text:='update BANKVUP set BANKID='+FloatToStr(Query1.Fields[0].AsFloat); //Query2.Prepare; Query2.ExecSQL; Query1.Next; end; end;
| еще вот этоЦитата | Query1.Fields[0].AsFloat | можно переписать как Цитата | Query1.FieldByName('BANKID').AsFloat | Последнее более надежно...
хотя
Цитата(kulikoff @ 2.1.2006, 12:35) | Чего он не хочет работать? Вроде всё работает, но не хочет записывать новые данные в поле... |
kulikoff, у тебя второй запрос правильно сформулирован?!... Ты случайно не забыл, что в UpDate то же может присутствовать предложение Where? А то получается, что твой запрос (тот который без Where) обнавляет все записи, сначала первым значением, потом вторым, потом тритьим... и т д.. а потом последним... вот и кажется что твой запрос ничего не делает... |