Premenné - problém – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Premenné - problém – Java – Fórum – Programujte.comPremenné - problém – Java – Fórum – Programujte.com

 

Ondrej Ruz
~ Anonymní uživatel
3 příspěvky
21. 5. 2019   #1
-
0
-

Zdravím.
V Jave som začiatočník. Zobrazujem údaje z SQlite do table...v table to chcem aktualizovať a prislušný riadok
v SQlite Update-nuť. Nechce to skompilovať.... error: local variables referenced from an inner class must be final or effectively final

Časť progr.:

 Object  mojZamestnanec = getValueAt(row, 3);
                   String mojZam = String.valueOf(mojZamestnanec);
                
                   Object  mojeVozidlo = getValueAt(row, 4);
                   String mojeVoz = String.valueOf(mojeVozidlo);
                    
                   Object  mojaPoznamka = getValueAt(row, 5);
                   String mojaPozn = String.valueOf(mojaPoznamka);
                   
                   mojeSql = "UPDATE Objednavky SET zamestnanec = '"+ mojZam + "',vozidlo=" + mojeVoz +",poznamka=" + mojaPozn +

                  " WHERE ID=" +row ;
                  
                   DBdata.ExecuteSQLStatement(mojeSql);

Poradí niekto?

Ondrej

Nahlásit jako SPAM
IP: 78.98.110.–
gna
~ Anonymní uživatel
1891 příspěvků
21. 5. 2019   #2
-
0
-

Ta chyba znamená přesně to, co se v ní píše. A mělo by v ní být i číslo problémového řádku.

Z toho úryvku není poznat, kde je problém, ale tipl bych, že jde o to přiřazení do mojeSql, což je pravděpodobně proměnná z vnějšího bloku. A pravděpodobně ji nechceš a nepořebuješ měnit, tak prostě deklaruj novou proměnnou, klidně i stejnojmennou.

String mojeSql = "UPDATE...

A takové skládání SQL je špatně. Co když některé z těch polí bude obsahovat něco, co ti ten SQL příkaz rozbije? Třeba ta poznámka asi může obsahovat libovolný text. Používej "prepared statements".

Nahlásit jako SPAM
IP: 213.211.51.–
Ondrej Ruz
~ Anonymní uživatel
3 příspěvky
24. 5. 2019   #3
-
0
-

#2 gna
Vdaka za odpoveď.

Ešte otázka....

V akej metode nad table sa má použiť  UPDATE..... ?

V isCellEditable ..... sa mi nepremietne zmena do SQLite ...len na obrazovke v table....

Ondrej

Nahlásit jako SPAM
IP: 95.103.59.–
Kit+15
Guru
24. 5. 2019   #4
-
0
-

#3 Ondrej Ruz
Metodu, která má provést UPDATE, zpravidla pojmenuji update().

BTW: Proč dáváš všude prefixy moj, moja nebo moje? Zhoršuje to čitelnost kódu.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Ondrej Ruz
~ Anonymní uživatel
3 příspěvky
24. 5. 2019   #5
-
0
-

#4 Kit
Zdravím.

Tie prefixy mi zostali z minulého tisícročia....V r. 1973 som programoval v Mat4 na Minsku22 a v Cobole na Tesle...EC1030...atd...Pascal...Foxpro.....Visual Xoxpro...Visual Basic

Ale všetko lineárne programovanie.... Chcem sa naučiť na staré kolená objektové...

To UPDATE ....mne ide o to v ktorom mieste programu to mám použiť...nie ako to pomenovať...

V table natypujem určitú bunku - zmením jej hodnotu....stlačím enter...udalosť...a teraz čo....

Vďaka za odpovede...

Nahlásit jako SPAM
IP: 95.103.59.–
gna
~ Anonymní uživatel
1891 příspěvků
24. 5. 2019   #6
-
0
-

#3 Ondrej Ruz
Takže máš implementovaný TableModel s getValueAt. Teď jsi přidal isCellEditable vracející true a uložení hodnoty se pak dělá v setValueAt.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Premenne — založil Kenny

Funkcie a premenne — založil Eidam655

Zdielane premenne — založil Warchangel

C# globálne premenné — založil Miro1701

Premenné v správe — založil kylexy

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý