Odpoved na svoju otazku najdete v dokumentacii:
"Returns:
true if the first result is a ResultSet object; false
if it is an update count or there are no results"
S pozdravom
Radovana Straube
--- [EMAIL PROTECTED] wrote:
> Diky mirku za reakci, alespon nekdo :o) s uzaviranim
> resultset jsem
> experimentoval, bez vysledku. Nakonec se mi po notne
> dobe podarilo vygooglit
> reseni.
> Musi se spravne vytvorit statement
>
> misto
> Statement statement = con.createStatement();
>
> jsem pridal parametry
> Statement statement =
>
con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
> ResultSet.CONCUR_READ_ONLY);
>
> a k nemalemu prekvapeni to funguje.
>
> Jinak nevim jestli je to DB2 nebo driverem ci co,
> ale prisel jsem na pomerne
> zajimavou anomalii. V uvadenem kodu dole, kde
> vkladam jednotlive
> jazykove verze
>
> statement.execute(sql1)
>
> prestoze se prikaz vykona a zaznam se ulozi do
> databaze je vraceno
> false nikoliv
> true. Existuje pro to nejaky racionalni vysvetleni?
> :o)
>
> Zdenek Kasparek
>
>
>
> Quoting Mirek Stohr <[EMAIL PROTECTED]>:
>
> > Osobne se domnivam, ze chyba je v radku, kde volas
> znovu
> > statement.execute("delete ..."), aniz jsi ukoncil
> praci s
> > ResultSetem, ktery jsi dostal predchazejicim
> executeQuery. Zkus to
> > rozdelit na dva statementy, pripadne nejdrive
> nacist, a az pak mazat.
> >
> > Je ale mozne ze pisu naproste nesmysly, nezkousel
> jsem s tim
> > experimentovat a strilim od boku.
> >
> > Mirek
> >
> >
> > [EMAIL PROTECTED] napsal(a):
> >> Dobry den,
> >> byl bych velice vdecen za radu jelikoz uz nevim
> co stim.
> >> Mam cvs soubor, ze ktereho dostavam jazykove
> verze a ty ukladam do
> >> databaze (
> >> DB2 )
> >> kazdy zaznam v souboru ma svoje id. Ja ty zaznamy
> vypisuji cyklem a
> >> v tom cyklu
> >> volam nize uvedeny kod, ktery overi jestli
> existuje nejaky zaznam s
> >> konkretnim
> >> id uz v databazi a pokud ano, tak jej smaze a
> nasledne vlozi jazykove verze.
> >> Problem mam prave v casti ktera zjistuje jestli
> nejaky uz existuje a
> >> kdyztak jej
> >> maze. Porad at to zkousim jak chci, pokud zaznam
> existuje dostavam error:
> >> java.sql.SQLException: Cursor state not valid.
> >>
> >> A nevim co stim.
> >> Omlouvam se za lama dotaz. Je mi jasny, ze chyba
> je mezi zidli a klavesnici.
> >> Predem diky za radu.
> >>
> >>
>
Class.forName("com.ibm.as400.access.AS400JDBCDriver");
> >> // register driver
> >> java.sql.DriverManager.registerDriver (new
> >> com.ibm.as400.access.AS400JDBCDriver());
> >> // create connection
> >> Connection con =
> DriverManager.getConnection("jdbc:as400/ip",
> >> "user", "pass");
> >> // create statement
> >> Statement statement = con.createStatement();
> >> // enable making safety query
> >> statement.setEscapeProcessing(true);
> >> // check if some item with current id exist in
> table
> >> ResultSet r = statement.executeQuery("SELECT
> COUNT(text_id) AS c FROM
> >> LIB.HTML_TEXT WHERE text_id='" + id + "'");
> >>
> >> // if item is exist remove it
> >> while ( r.next() )
> >> {
> >> if ( Integer.parseInt(r.getString("c")) > 0 )
> >> {
> >> statement.execute("DELETE FROM
> LIB.HTML_TEXT WHERE
> >> text_id='" + id + "'
> >> ");
> >> }
> >> }
> >>
> >> // crete query for german version
> >> String sql1 = "INSERT INTO LIB.HTML_TEXT
> (text_id, text_language, html_text,
> >> app_s) " + "VALUES ('"+id+"', 'GER', '"+ger+"',
> 1)";
> >> // create query for english version
> >> String sql2 = "INSERT INTO LIB.HTML_TEXT
> (text_id, text_language, html_text,
> >> app_s) " + "VALUES ('"+id+"', 'EN', '"+en+"',
> 1)";
> >> // create query for french version
> >> String sql3 = "INSERT INTO LIB.HTML_TEXT
> (text_id, text_language, html_text,
> >> app_s) " + "VALUES ('"+id+"', 'FR', '"+fr+"',
> 1)";
> >>
> >> //execute queries and dump messages
> >> if ( statement.execute(sql1) == true )
> >> {
> >> System.out.println(id + " sql1 item has been
> inserted");
> >> }
> >> if ( statement.execute(sql2) == true )
> >> {
> >> System.out.println(id + " sql2 item has been
> inserted");
> >> }
> >> if ( statement.execute(sql3) == true )
> >> {
> >> System.out.println(id + " sql3 item has been
> inserted");
> >> }
> >> con.close();
> >>
> >>
> >> Zdenek Kasparek
> >>
> >>
> >>
>
----------------------------------------------------------------
> >> This message was sent using IMP, the Internet
> Messaging Program.
> >>
> >
>
>
>
>
----------------------------------------------------------------
> This message was sent using IMP, the Internet
> Messaging Program.
>
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com