J'ai une base de donnée client-serveur Derby et dont voici une partie du code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
String Query = "SELECT \"ID\", \"TITLE\", \"DESCRIPTION\", \"MODIF_TIMESTAMP\""
                    + " FROM OBJETS"
                    + " WHERE (\"AGENDA_ID\"=" + AppData.getAgendaId() + ")";
 
ResultSet SqlObjet = AppData.Database.executeResultSet(Query, true);
 
Statement statement = DBconn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); 
SqlObjet  = statement.executeQuery(Query);
Avec mon ResultSet, j'arrive à me déplacer d'un record à l'autre avec les fonctions SqlObjet.next() et SqlObjet.previous() et à mettre à jours avec SqlObjet.updateRow();. Tout ceci fonctionne correctement.

Malheureusement, lorsque je lance une 2e fois mon programme et que je me positionne sur le même record, le lock ne se fait pas. Le programme n'attend pas et ne retourne pas d'erreur non plus. J'ai essayer de rajouter "for uptade" dans ma requête SQL mais cela ne change rien.

Mon problème viendrais de mon programme ou de la base de donnée ? Comment résoudre se problème ?