Portál AbcLinuxu, 12. května 2025 07:55

Dotaz: JDBC getRow() problém při přechodu na vyšší verzi

3.4.2009 06:19 ZAH | skóre: 43 | blog: ZAH
JDBC getRow() problém při přechodu na vyšší verzi
Přečteno: 203×
Odpovědět | Admin
Po přechodu z PostgreSQL JDBC v.3 na postgresql-8.3-603.jdbc4 mi přestal chodit následující kousek kódu. Přesněji metoda getRow() z ResultSet. Spíše někdy proběhne někdy vrátí o číslo jinak.
     ResultSet rs = getResultSet();
     if (rs.getRow() != rowIndex) {
         rs.absolute(rowSQL);
        .....
        }
     return true;
Kód je z implementace TableModel (testuje jestli jsem na záznamu ResultSet odpovídající getValueAt). Metoda chodila vždy. Po updatu na 1.6 Javu a 4 JDBC najednou zdánlivě zdvojuje věty lichou dvakrát soudou vůbec.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.4.2009 06:26 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: JDBC getRow() problém při přechodu na vyšší verzi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Omlouván se mělo to patřit do programování . No prostě ranní ptáče ...
4.4.2009 17:02 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: JDBC getRow() problém při přechodu na vyšší verzi
Problém byl skutečně přístupu dvou vláken. Poměrně složité a špatný synchronized.
3.4.2009 10:31 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: JDBC getRow() problém při přechodu na vyšší verzi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přistupuje ve skutečném kódu k tomu ResultSetu pouze jedno vlákno? Jestli se nemůže stát, že vám ten ResultSet posune jinam jiné vlákno...
3.4.2009 14:06 ZAH
Rozbalit Rozbalit vše Re: JDBC getRow() problém při přechodu na vyšší verzi

Řekl bych, že ano  jde o implementaci TableModel, a přistupuje vždy jedna tabulka k jenomu resultSetu. Zkusil jsem místo getRow tam dát test na promenou objektu misto getRow a začalo to chodit bez problému. Stejně tak bez testu a vždy nastavit absolute(rowIndex) prostě vše nasvědčuje tomu, že getRow blbne. Večer se zkusím ještě podívat na zdroj té funkce a stáhnout poslední verze JDBC. Předpokládám, že jde o chybu protože stejný program stejný stroj pod 1.5 a JDBC byly OK.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.