deleteRow() [JDBC] - Java - Programmation
Marsh Posté le 07-01-2005 à 16:13:16
Quelle base et quels drivers ? Certain ne supportent pas les resultset updatable.
Marsh Posté le 07-01-2005 à 16:18:50
base: oracle 9i
drivers: ojdbc14.jar, JDBC 3.0
j'ai plutot vu que les resultset updatable sont relatif a la version du JDBC, a partir de la 2.0, donc j'ai la 3.0 ... donc normalement ...
l'erreur, a l'execution:
java.sql.SQLException: OpÚration non valide sur un ensemble de rÚsultats de type read-only : deleteRow
Marsh Posté le 07-01-2005 à 16:24:30
oui
Mais y a certaines versions de drivers qui n'implantent pas toutes les nouveautés, et les ResultSet updatables en font souvent partie. Enfin les drivers Oracle doivent tout supporter je pense.
Tu es sûr de ton numRow ?
Marsh Posté le 07-01-2005 à 16:29:14
Code :
|
oui je suis sur ... mais meme, l'erreur de vient pas de la ...
c'est vraiment embetant
Marsh Posté le 07-01-2005 à 17:35:45
Personne ? lol
sinon on pourrait créer soi-même la requete "delete from ma_table where ca_et_ca = cela and ..."
Mais bon ... c'est un traitement tres lourd car il faudrait connaitre le type de chaque variable...
Marsh Posté le 07-01-2005 à 18:28:05
Mais jcomprends pas vraiment comment ça marche là :??
Comment le numRow peut il être différent de 1 ?
Marsh Posté le 07-01-2005 à 21:30:03
Glod 2 a écrit : Mais jcomprends pas vraiment comment ça marche là :?? |
parce que numRow= le num de ligne courante dans ma jTable,
je travaille avec RMI et JDBC, acces a une base de donnée a distance donc.
quand je click sur le bouton delete, (j'ai donc selectionner une ligne dans ma jTable qui correspond a un "select * from matable" auparavant) il connai le num de ligne ! que je passe a ma méthode deleteResult qui se trouve sur le serveur, enfin ca c'est du detail !
Marsh Posté le 10-01-2005 à 12:54:17
Ce qui colle pas dans le code c'est que la commande cmd est "SELECT * FROM EMP" par exemple si on met "SELECT Empno,Ename from emp" alors on peut faire le deleteRow()!!
Etrange : donc en fait si on fait un "select all"
--> le ResultSet passe en read-only qqu'un c pourquoi et comment contourner la chose ?
Merci
Marsh Posté le 07-01-2005 à 16:04:43
Je voudrais supprimer une ligne dans la table d'une BD.
Cette table est représentée dans une jTable.
Je selectionne la ligne.
Avec un resultSet.absolute(numLigne) je me place au bon endroit.
resultSet.deleteRow() qui supprime la ligne courante.
Seulement, erreur a l'execution, il me dit que l'ensemble resultat est en read-only. Pourtant, connection jdbc n'est pas en read only. et le resultset non plus, du moins je pense !