Hello,
i have the database with two tables Opzioni, Preventivi.
This is my code;
public class DerbySample {
public static void main(String args[]) {
// esempio collegamento a derby con modifiche
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
String connectionString =
"jdbc:derby:/Users/harlock/Documents/soft/EsempiJava_15/dati;create=false";
Connection con = DriverManager.getConnection(connectionString,
"", "");
String sql = "select * from preventivi where prvID = 1";
ResultSet rsPreventivi =
con.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_UPDATABLE).executeQuery(sql);
rsPreventivi.next();
sql = "select * from opzioni";
//----
ResultSet rsOpzioni =
con.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY).executeQuery(sql);
while (rsOpzioni.next()) {
System.out.println(rsOpzioni.getString("opzUtente"));
}
rsOpzioni.close();
//----
rsPreventivi.updateString("prvUtente", "fran");
rsPreventivi.updateRow();
rsPreventivi.close();
System.out.println("bye bye");
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}
Run my sample program i receive the error: Invalid cursor state - no
current row.
If comment the line;
ResultSet rsOpzioni =
con.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY).executeQuery(sql);
while (rsOpzioni.next()) {
System.out.println(rsOpzioni.getString("opzUtente"));
}
rsOpzioni.close();
my program work correctly!!!
Why? I don't understand!!!
thans.