Article View: es.comp.lenguajes.java
Article #394Re: Problema con ResultSet en JDBC
From: Ricardo Palomares Martinez
Date: Thu, 07 Jun 2007 18:26
Date: Thu, 07 Jun 2007 18:26
46 lines
3128 bytes
3128 bytes
Alejandro escribió: > Entiendo lo que me dices, el tema es que queria hacerlo un poco más > genérico y bueno.. eso de la lista lo veo viable pero.. la cuestión es > que en la tabla (aunque de momento solo borro tuplas), querria poder > luego modificarlas a través de los diversos métodos (updateFloat(), > updateInt(), etc) y que todo esto luego se actualizase en la base de > datos real. > > Existe alguna forma de que, volcando los datos a una lista como me > comentas, y actualizando/borrando/insertando en esa lista, luego pueda > reenviar los datos modificados a la BD? Yo he hecho dos implementaciones distintas para mantenimientos simples de una tabla como el que estás programando tú. En la primera, hago lo que creo que dice Eduardo: al entrar en el diálogo, inicializo el modelo recuperando el ResultSet en el modelo de la tabla (es decir, mi TableModel tiene un ArrayList donde copio lo que obtengo en el ResultSet). Luego, replico en la base de datos lo mismo que hago al modelo. ¿Que se cambia un dato en la tabla? Ejecuto un UPDATE del registro en la BB.DD. ¿Que se borra un registro? Un DELETE; y lo mismo con las inserciones. En este caso, si hubiera dos usuarios accediendo a la base de datos, acabarías rápidamente con una vista desactualizada en la que faltan y sobran registros (los que añada o borre el usuario de enfrente). En la otra implementación he usado una biblioteca de clases que implementa lo que Sun dejó en el último momento fuera de JDBC 4.0, el EoD. Básicamente, facilita la implementación de la persistencia de tus clases Java en tablas de base de datos, y entre otras cosas proporciona una clase DataSet, que es como un ArrayList<T> que recupera los datos de un ResultSet. Aquí lo que he hecho es (porque me lo puedo permitir, dado el tamaño de las tablas), releer el DataSet cada vez que aplico algún cambio. Saludos. -- If it's true that we are here to help others, then what exactly are the OTHERS here for?
Technical Details
Message-ID:
<g7vlj4-5ad.ln1@Father.family>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder3.cambrium.nl!feed.tweaknews.nl!newsfeed.kamp.net!newsfeed.kamp.net!news.germany.com!aioe.org!Father.family!newsReferences:
<4667501c_1@filemon2.isp.telecable.es> <5cprphF30llkcU1@mid.individual.net> <4667cdcc_4@filemon2.isp.telecable.es> <5cq3l1F304p9hU1@mid.individual.net> <4667f5e4_3@filemon2.isp.telecable.es>Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,3c7dc0a3c946ac67 X-Google-Attributes: gid1116f3,public,usenet X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder3.cambrium.nl!feed.tweaknews.nl!newsfeed.kamp.net!newsfeed.kamp.net!news.germany.com!aioe.org!Father.family!news From: Ricardo Palomares Martinez <rpm.PUBLI@iespana.es> Newsgroups: es.comp.lenguajes.java Subject: Re: Problema con ResultSet en JDBC Date: Thu, 07 Jun 2007 20:26:24 +0200 Organization: Hogar, dulce hogar Lines: 46 Message-ID: <g7vlj4-5ad.ln1@Father.family> References: <4667501c_1@filemon2.isp.telecable.es> <5cprphF30llkcU1@mid.individual.net> <4667cdcc_4@filemon2.isp.telecable.es> <5cq3l1F304p9hU1@mid.individual.net> <4667f5e4_3@filemon2.isp.telecable.es> NNTP-Posting-Host: n+OB3BmNUCF7QJVC1NpPnQ.user.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.8.1.2) Gecko/20070221 SeaMonkey/1.1.1 Mnenhy/0.7.4.0