A neresite to moc slozite? Vzdyt zaznam muzete rovnou smazat bez
kontroly jeho existence. Pokud zaznam existuje, tak se smaze (to chcete)
a pokud ne, tak ten delete nic neudela. Urcite tim usetrite dost rezie.
[EMAIL PROTECTED] píše v Po 31. 07. 2006 v 09:54 +0200:
> 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.
--
s pozdravem
Vladimír Náprstek
specialista AKC
RWE Energy Customer Services
tel: 475 233 102
e-mail: [EMAIL PROTECTED]