Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.13;
Скачать: CL | DM;

Вниз

Применение SQL ко всему списку   Найти похожие ветки 

 
SveT   (2008-03-20 01:14) [0]

При выполнении загружается спикок значений, подсчет идет только по первому значению, и соответственно апдейтится только это значение:

if DMFrm. ZTQuery.RecordCount>0 then begin
   p2 := DMFrm. ZTQuery.FieldByName("P").AsCurrency;
   K2 := DMFrm. ZTQuery.FieldByName("K").AsCurrency;
   summa := RoundTo(k2 * p2,-2);
end;

 DMFrm.TmpQuery.Close;
  DMFrm.TmpQuery.SQL.Clear;
   DMFrm.TmpQuery.SQL.Add("Update "T.db"");
   DMFrm.TmpQuery.SQL.Add("SET K="+FloatToStr(K2)+",P="+FloatToStr(p2)+", SUMMA="+FloatToStr(summa));
   DMFrm.TmpQuery.SQL.Add("WHERE KOD="""+DMFrm. ZTQuery.FieldByName("KOD").AsString+"""");
 DMFrm.TmpQuery.ExecSQL;


Подскажите, пожалуйста, как сделать чтобы поля "P", "К" и "summa" заполнялись ко всему списку записей, а не только к первой записи.
Спасибо!


 
ЦУП ©   (2008-03-20 01:25) [1]

Вообще, надо изучать SQL.

Формат UPDATE с простым подзапросом:

UPDATE MyTable1 SET
 T1Field1=MyValueConst
WHERE T1Field2 IN (SELECT T2Field2 FROM MyTable2 WHERE ...)


 
SveT   (2008-03-20 01:30) [2]


> Вообще, надо изучать SQL.


Я и изую, и с вашей помощью тоже. (когда нет под рукой книги)

Спасибо.


 
Германн ©   (2008-03-20 01:50) [3]


> ЦУП ©   (20.03.08 01:25) [1]
>
> Вообще, надо изучать SQL.
>

Вот это точно.


 
Германн ©   (2008-03-20 01:53) [4]

Пардон. Забыл добавить, что "такой простой подзапрос" врядли поможет в случае LocalSQL для решения сабжа.
Имхо.


 
Германн ©   (2008-03-20 02:15) [5]


> SveT   (20.03.08 01:14)
>
> При выполнении загружается спикок значений, подсчет идет
> только по первому значению, и соответственно апдейтится
> только это значение:
>

Цикл:
while not DMFrm. ZTQuery.EOF
   p2 := DMFrm. ZTQuery.FieldByName("P").AsCurrency;
  K2 := DMFrm. ZTQuery.FieldByName("K").AsCurrency;
  summa := RoundTo(k2 * p2,-2);
 DMFrm.TmpQuery.Close;
 DMFrm.TmpQuery.SQL.Clear;
  DMFrm.TmpQuery.SQL.Add("Update "T.db"");
  DMFrm.TmpQuery.SQL.Add("SET K="+FloatToStr(K2)+",P="+FloatToStr(p2)+", SUMMA="+FloatToStr(summa));
  DMFrm.TmpQuery.SQL.Add("WHERE KOD="""+DMFrm. ZTQuery.FieldByName("KOD").AsString+"""");
DMFrm.TmpQuery.ExecSQL;
 Next;
end;

тебе поможет. Но поскольку реальная ситуация с таблицами не объяснена в сабже, этот совет может быть не оптимальным.


 
SveT   (2008-03-20 08:45) [6]

to
> Германн ©

, спасибо за совет с циклом, но
[Error] OPERins.pas(137): "DO" expected but identifier "p2" found


 
SveT   (2008-03-20 09:00) [7]

нет DO


 
SveT   (2008-03-20 09:05) [8]

Этот цикл - бесконечен (программа зависает, ресурсы 99,9%). Данные перестали вствляться, соот-но вычислений нет.


 
Johnmen ©   (2008-03-20 09:16) [9]

Копипаст сделан. Пора включать голову. Хотя бы слегка...


 
zorik ©   (2008-03-20 09:18) [10]

Посмотри внимательно! begin ... end решит проблему



Страницы: 1 вся ветка

Текущий архив: 2008.04.13;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.008 c
2-1206042597
Studios
2008-03-20 22:49
2008.04.13
httpcli1 как загрузить jpeg ?


2-1205431955
maxs
2008-03-13 21:12
2008.04.13
TTreeView с CheckBox ами


2-1205596742
Roman_A
2008-03-15 18:59
2008.04.13
Что быстрее CopyFile? или через буфер?


3-1195555634
shah
2007-11-20 13:47
2008.04.13
Распределенные базы данных


6-1184903181
DelphiN!
2007-07-20 07:46
2008.04.13
Wake On Lan не всегда срабатывает





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский