Autor Téma: Ako správne naplniť FqryAdCalcIns.Params[J].Values[K]  (Přečteno 237 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3903
  • Karma: 35
    • Verze Delphi: XE7 professional

Akosi sa neviem dostať do DocWiki - vyhadzuje mi chybu
Doteraz som vždy používal tento spôsob
Kód: [Vybrat]
FQryPsAllUpd.ParamByName('PSALL').AsCurrencys[I] := FldPsAll.AsCurrency;Ale teraz nepoznám dopredu nič. Len počas behu viem počet záznamov a polí FDQuery/FArr. Neviem či je nasledujúca konštrukcia správna.
Kód: [Vybrat]
   for J := 0 to RecCount -1 do
begin
  for K := 0 to FldCount do
    FqryAdCalcIns.Params[J].Values[K] := FArr[J, K];
end;

Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Delfin

  • Padawan
  • ******
  • Příspěvků: 1621
  • Karma: 65
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:Ako správne naplniť FqryAdCalcIns.Params[J].Values[K]
« Odpověď #1 kdy: 05-03-2019, 10:18:54 »
Nerozumim ::) Nicmene pokud je pozadavkem plnit DML pole obecne hodnotami ruznych datovych typu a FArr je polem hodnot Variant (nebo konkretniho typu, kdy dojde k implicitni konverzi), pak je to prirazeni hodnot v uvedenem kodu spravne.
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3903
  • Karma: 35
    • Verze Delphi: XE7 professional
Re:Ako správne naplniť FqryAdCalcIns.Params[J].Values[K]
« Odpověď #2 kdy: 05-03-2019, 11:12:12 »
Mne šlo o to indexovanie. S tým som si nebol istý.
Ďakujem.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Delfin

  • Padawan
  • ******
  • Příspěvků: 1621
  • Karma: 65
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:Ako správne naplniť FqryAdCalcIns.Params[J].Values[K]
« Odpověď #3 kdy: 05-03-2019, 11:48:00 »
Mne šlo o to indexovanie. S tým som si nebol istý.

S tim neporadim kvuli chybejicim souvislostem. Kdyz si vsak predstavis parametry jako sloupce a DML hodnoty jako radky, pak by sis mohl vymyslet pseudokod:

Kód: Delphi [Vybrat]
  1. var
  2.   Row, Col: Integer;
  3. begin
  4.   for Col := 0 to ParamCount - 1 do
  5.     for Row := 0 to ValueCount - 1 do
  6.       FDQuery.Params[Col].Values[Row] := Values[Row, Col];
  7. end;
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 3903
  • Karma: 35
    • Verze Delphi: XE7 professional
Re:Ako správne naplniť FqryAdCalcIns.Params[J].Values[K]
« Odpověď #4 kdy: 05-03-2019, 12:17:07 »
Tak som postupoval. Len som si to nevedel vizualizovať/predstaviť. RecCount je počet riadkov v DataSete a FldCount počet polí. Takže riadky sú stĺpce a polia DML hodnoty :)
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Křestní jméno zpěváka Gotta: