DBGrid displays zeros. Zeos 7.2 bug or Lazarus trunk bug lazarus / 16-Databases ---------------------------------------------------------------------- krzynio · 2018-07-17 07:38 Hi! Recently I upgraded Zeos components from 7.2.1rc1 to 7.2.4 After the upgrade last two columns of DBGrid and two integer columns WYK_UW and WYK_UWZ display zeros instead real values. When I restore Zeoses to 7.2.1.rc1 or earlier works fine again. The same behavior is on Windows and Debian so I am suspecting bug or different functionality in higher Zeos. What can it be? Code: SQL  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i SELECT * FROM PR_URLOPY ('2018', '2015', '%')WHERE Aktywny>='1'  Code: SQL  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i SET TERM ^ ;ALTER PROCEDURE PR_URLOPY (    ROK1 INTEGER,    ROK_BO INTEGER,    IDWYDZ VARCHAR(10) )RETURNS (    IDPRAC VARCHAR(10),    NAZPRAC VARCHAR(50),    AKTYWNY SMALLINT,    ORGUNIT VARCHAR(10),    GRUPA VARCHAR(10),    IDSTAN VARCHAR(10),    NAZSTAN VARCHAR(50),    ROK INTEGER,    WYMIAR_BIEZ INTEGER,    EKWIWALENT_BIEZ INTEGER,    POPRZEDNI INTEGER,    URLOP_RAZEM INTEGER,    WYK_UW INTEGER,    WYK_UWZ INTEGER,    WYK_RAZEM INTEGER,    POZOSTALY INTEGER,    WYK_UW_BIEZ INTEGER,    WYK_UWZ_BIEZ INTEGER )ASBEGIN     DELETE FROM TEMP_URLOP_WYK;        INSERT INTO TEMP_URLOP_WYK (IDPRAC, ROK, TYP, ILOSC)        SELECT           kb.IDPRAC,           EXTRACT(YEAR FROM k.DATA) AS ROK,          ko.IDOPER AS TYP,          SUM(DATEDIFF(HOUR, CZASSTART, CZASSTOP)/8) AS ILOSC        FROM          KARTYOPERACJE ko          LEFT JOIN KARTY k ON k.IDKARTY=ko.IDKARTY          LEFT JOIN KARTYBRYGADY kb ON kb.IDPARTII=ko.idpARTII          LEFT JOIN PARAMS pm ON pm.ID=1        WHERE           ( EXTRACT(YEAR FROM k.DATA) >= :ROK_BO )          AND          ( IDOPER = pm.IDURLOP OR IDOPER = pm.IDURLOPZ )        GROUP BY           kb.IDPRAC, ROK, TYP;              FOR          SELECT            p.IDPRAC            , p.NAZPRAC            , p.AKTYWNY            , p.ORGUNIT            , p.GRUPA            , p.IDSTAN            , s.NAZSTAN            , u.ROK            , u.WYMIAR AS WYMIAR_BIEZ            , COALESCE(u.EKWIWALENT, 0) AS EKWIWALENT_BIEZ            , COALESCE(dowyk.ILOSC, 0) - u.WYMIAR AS ZALEGLY            , COALESCE(dowyk.ILOSC, 0) AS URLOP_RAZEM            , COALESCE(wyk.ILOSC, 0) AS WYK_UW            , COALESCE(wykuz.ILOSC, 0) AS WYK_UWZ                , COALESCE(wyk.ILOSC, 0) + COALESCE(wykuz.ILOSC, 0) AS WYK_RAZEM             , COALESCE(dowyk.ILOSC, 0) - COALESCE(wyk.ILOSC, 0) - COALESCE(wykuz.ILOSC, 0) AS POZOSTALY            , COALESCE(wyk_biez.ILOSC,0) AS WYK_UW_BIEZ            , COALESCE(wykuz_biez.ILOSC,0) AS WYK_UWZ_BIEZ        FROM V_PRACOWNICY p        LEFT JOIN STANOWISKA s ON s.IDSTAN=p.IDSTAN        LEFT JOIN PARAMS pm ON pm.ID=1        LEFT JOIN URLOPY u ON u.IDPRAC=p.IDPRAC       LEFT JOIN         (            SELECT               IDPRAC,             SUM(WYMIAR-COALESCE(EKWIWALENT, 0)) AS ILOSC,              SUM(COALESCE(EKWIWALENT, 0)) AS EKWIWALENT            FROM            URLOPY u            WHERE              u.ROK>=:ROK_BO AND u.ROK<=:ROK1            GROUP BY              IDPRAC        ) dowyk ON dowyk.IDPRAC=u.IDPRAC        LEFT JOIN (SELECT idprac, SUM(ilosc) AS ILOSC FROM TEMP_URLOP_WYK u LEFT JOIN PARAMS pm ON pm.ID=1 WHERE u.ROK<=:ROK1 AND u.TYP=pm.IDURLOP GROUP BY u.IDPRAC) wyk ON wyk.IDPRAC=p.idprac        LEFT JOIN (SELECT idprac, SUM(ilosc) AS ILOSC FROM TEMP_URLOP_WYK u LEFT JOIN PARAMS pm ON pm.ID=1 WHERE u.ROK<=:ROK1 AND u.TYP=pm.IDURLOPZ GROUP BY u.IDPRAC) wykuz ON wykuz.IDPRAC=p.idprac        LEFT JOIN (SELECT idprac, SUM(ilosc) AS ILOSC FROM TEMP_URLOP_WYK u LEFT JOIN PARAMS pm ON pm.ID=1 WHERE u.ROK=:ROK1 AND u.TYP=pm.IDURLOP GROUP BY u.IDPRAC) wyk_biez ON wyk_biez.IDPRAC=p.idprac        LEFT JOIN (SELECT idprac, SUM(ilosc) AS ILOSC FROM TEMP_URLOP_WYK u LEFT JOIN PARAMS pm ON pm.ID=1 WHERE u.ROK=:ROK1 AND u.TYP=pm.IDURLOPZ GROUP BY u.IDPRAC) wykuz_biez ON wykuz_biez.IDPRAC=p.idprac        WHERE            u.ROK=:ROK1 AND p.OUWYD LIKE :idwydz        ORDER BY            p.NAZPRAC                   INTO IDPRAC, NAZPRAC, AKTYWNY, ORGUNIT, GRUPA, IDSTAN, NAZSTAN, ROK, WYMIAR_BIEZ, EKWIWALENT_BIEZ, POPRZEDNI, URLOP_RAZEM, WYK_UW, WYK_UWZ, WYK_RAZEM, POZOSTALY, WYK_UW_BIEZ, WYK_UWZ_BIEZ    do BEGIN      SUSPEND;    ENDEND^SET TERM ; ^   Lazarus Trunc 2018-07-12 Windows 10 1803 / Linux Debian 9.5 ---------------------------------------------------------------------- sash · 2018-07-17 12:00 Does your grid (or m.b. dataset component) have a persistent columns? Did you tested such behavior on something more simple like select 1, 2, 3 from ...? ---------------------------------------------------------------------- miab3 · 2018-07-17 13:14 @krzynio, 1. What database, client, server? 2. Try ZEOS 7.2.4p with the last fixes: https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/branches/7.2- patches/ 3. Create a simple example of the application and give here or on the ZEOS Forum. Michal