Forum » Programiranje » java,db,insert problem
java,db,insert problem
BRBR ::
Če postavim breakpoint (net beans) na
spodaj, potem jasno, se execution tam ustavi.
Problem pa je da se pa pri enem insertu ne, in gre execution kar čez in v bazo ne pride nič, tudi ne pade v exception.
Insert je čisto navaden in če ga skopiram ven iz 'debug modea' in poženem v enem client programu, dela bp.
Naredil sem rebuild vsega & mysqlcheck ... (kar verjetno nima veze). Ne pomaga nič.
pstmt.executeUpdate();
spodaj, potem jasno, se execution tam ustavi.
Problem pa je da se pa pri enem insertu ne, in gre execution kar čez in v bazo ne pride nič, tudi ne pade v exception.
Insert je čisto navaden in če ga skopiram ven iz 'debug modea' in poženem v enem client programu, dela bp.
Naredil sem rebuild vsega & mysqlcheck ... (kar verjetno nima veze). Ne pomaga nič.
public int executeSql(String sql) throws SQLException { boolean success = true; try { java.sql.PreparedStatement pstmt = con.prepareStatement(sql); pstmt.executeUpdate(); } catch (SQLException ex) { success = false; System.out.print("SQL error(in executeSql): "); System.out.print(sql); System.out.print(ex.getMessage()); System.out.print("problem cooming from: " + this.callingClassName); throw new SQLException(ex); } finally { if (!success) { this.clear(this.callingClassName); return -1;//za backward compatibility } else { return 0; } } }
BRBR ::
ehh, mysql, odletelo je na nekem foreign keyu, ki je sicer zgledal čisto ok in ga že 'leta' nisem spreminjal. Zbrisal, ponovno naredil, in dela.
Zgodovina sprememb…
- spremenil: BRBR ()
Mavrik ::
Saj verjetno mu je vrgel exception in padel v catch ali finally blok :)
The truth is rarely pure and never simple.
BRBR ::
Mavrik ::
Bolj exception logging ko ti zna to povedat, ne da požira exceptione :)
The truth is rarely pure and never simple.
Spura ::
Za take primere potem bolje dati bolj splošen Exception catch, vsaj za debug.
Ne. Kar naredis je if(con == null) ....
Nikakor tega, da ne znas pisat dobre kode, ne smes zdravit s catchall bloki v notranjih funkcijah. To da je con lahko null in da ta funkcija tega ne preverja je cisto programerjeva design napaka.
Pa se nekaj:
a) throw new SQLException(ex); - kva hudica je to
b) ta koda uporablja prepared statemente, hkrati pa fali cel point prepared statementov -> parametri
c) zakaj se funkcija imenuje executeSql, ubistvu pa ne mores z njo pognat selecta
d) kdo hudica dandanes uporablja prepared statements direktno?
Edit: O wow, pa ravnokar sem opazil, to grozljivo napacno logiko s success spremenljivko.
Zgodovina sprememb…
- spremenil: Spura ()
LeQuack ::
Za take primere potem bolje dati bolj splošen Exception catch, vsaj za debug.
Ne. Kar naredis je if(con == null) ....
Nikakor tega, da ne znas pisat dobre kode, ne smes zdravit s catchall bloki v notranjih funkcijah. To da je con lahko null in da ta funkcija tega ne preverja je cisto programerjeva design napaka.
Pa se nekaj:
a) throw new SQLException(ex); - kva hudica je to
b) ta koda uporablja prepared statemente, hkrati pa fali cel point prepared statementov -> parametri
c) zakaj se funkcija imenuje executeSql, ubistvu pa ne mores z njo pognat selecta
d) kdo hudica dandanes uporablja prepared statements direktno?
Edit: O wow, pa ravnokar sem opazil, to grozljivo napacno logiko s success spremenljivko.
Exception lahko ujameš, shraniš nekaj debug informacij v log in jo spet vržeš, tako da ni nujno slaba zadeva. To je predvsem mišljeno za sisteme, recimo produkcijske, kjer se moraš zanašati na informacije v logih in kjer ne moraš pognati debug.
Quack !
Zgodovina sprememb…
- spremenil: LeQuack ()
Spura ::
Ampak zakaj vrze nov exception?
Zakaj ne pise: throw ex;
Zakaj wrappa SQLException v nov SQLException, ki vsebuje 0 dodatnih informacij?
edit: najbrz ne razume throw stavka, ampak se je naucil recept:
throw new XException
Zakaj ne pise: throw ex;
Zakaj wrappa SQLException v nov SQLException, ki vsebuje 0 dodatnih informacij?
edit: najbrz ne razume throw stavka, ampak se je naucil recept:
throw new XException
Zgodovina sprememb…
- spremenil: Spura ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java] Urejanje baze z JTableOddelek: Programiranje | 1015 (799) | vonNeumann |
» | Netbeans + AccessOddelek: Programiranje | 715 (644) | Napoleon II |
» | [Java] Evidenca delovnega časa - Java v navezi z AccessomOddelek: Programiranje | 3282 (2502) | c0dehunter |
» | [java] uporaba baze .mdb z javoOddelek: Programiranje | 1615 (1530) | gtu |
» | [JAVA] mysql-connector-java in povezava z MysqlOddelek: Programiranje | 2037 (1919) | Sergio |