Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup es.comp.lenguajes.* Foro > Newsgroup es.comp.lenguajes.java
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #21 (permalink)  
Antiguo 22-02-2008, 10:57:22
Eduardo Yáñez Parareda
 
Mensajes: n/a
Predeterminado Re: Es posible adicionar un registro al ResultSet sin que actualicela Base de Datos ???

> private Connection conexion;
> private ResultSet consulta;
> private ResultSetTableModel tableModel;


A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet y guarda la info en un List, Set o lo que mejor
te venga.

En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una
consulta (más o menos):

public void foo() {
Connection conn = null;
Statement stmt = null;
try {
conn = getConexion()....;
stmt = conn.createStatement....
ResultSet rs = stmt.executeQuery....
// Bucle para recorrer el ResultSet y guardarlo en una estructura....
while(rs.hasNext()) {
.....
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}

Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para
gestionar todo eso.

Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria...
Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #22 (permalink)  
Antiguo 22-02-2008, 19:59:09
luisfleon@gmail.com
 
Mensajes: n/a
Predeterminado Re: Es posible adicionar un registro al ResultSet sin que actualicela Base de Datos ???

On 22 feb, 04:57, Eduardo Yáñez Parareda
<eduardo.yanezNOS...***NOSPAMgmail.com> wrote:
> > private Connection conexion;
> > private ResultSet consulta;
> > private ResultSetTableModel tableModel;

>
> A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor
> te venga.
>
> En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una
> consulta (más o menos):
>
> public void foo() {
> *** ***Connection conn = null;
> *** ***Statement stmt = null;
> *** ***try {
> *** *** ***conn = getConexion()....;
> *** *** ***stmt = conn.createStatement....
> *** *** ***ResultSet rs = stmt.executeQuery....
> *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura....
> *** *** ***while(rs.hasNext()) {
> *** *** *** *** ***.....
> *** *** ***}
> *** ***} catch (Exception ex) {
> *** *** ***ex.printStackTrace();
> *** ***} finally {
> *** *** ***try {
> *** *** *** ***if (stmt != null) {
> *** *** *** *** ***stmt.close();
> *** *** *** ***}
> *** *** *** ***if (conn != null) {
> *** *** *** *** ***conn.close();
> *** *** *** ***}
> *** *** ***} catch (SQLException ex) {
> *** *** *** ***ex.printStackTrace();
> *** *** ***}
> *** ***}
>
> }
>
> Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para
> gestionar todo eso.
>
> Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria...


Muchas gracias por tus sugerencia, me parece muy importante lo que me
indicas lo tomare muy en cuenta.

Saludos
Responder Con Cita
  #23 (permalink)  
Antiguo 22-02-2008, 19:59:09
luisfleon@gmail.com
 
Mensajes: n/a
Predeterminado Re: Es posible adicionar un registro al ResultSet sin que actualicela Base de Datos ???

On 22 feb, 04:57, Eduardo Yáñez Parareda
<eduardo.yanezNOS...***NOSPAMgmail.com> wrote:
> > private Connection conexion;
> > private ResultSet consulta;
> > private ResultSetTableModel tableModel;

>
> A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor
> te venga.
>
> En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una
> consulta (más o menos):
>
> public void foo() {
> *** ***Connection conn = null;
> *** ***Statement stmt = null;
> *** ***try {
> *** *** ***conn = getConexion()....;
> *** *** ***stmt = conn.createStatement....
> *** *** ***ResultSet rs = stmt.executeQuery....
> *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura....
> *** *** ***while(rs.hasNext()) {
> *** *** *** *** ***.....
> *** *** ***}
> *** ***} catch (Exception ex) {
> *** *** ***ex.printStackTrace();
> *** ***} finally {
> *** *** ***try {
> *** *** *** ***if (stmt != null) {
> *** *** *** *** ***stmt.close();
> *** *** *** ***}
> *** *** *** ***if (conn != null) {
> *** *** *** *** ***conn.close();
> *** *** *** ***}
> *** *** ***} catch (SQLException ex) {
> *** *** *** ***ex.printStackTrace();
> *** *** ***}
> *** ***}
>
> }
>
> Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para
> gestionar todo eso.
>
> Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria...


Muchas gracias por tus sugerencia, me parece muy importante lo que me
indicas lo tomare muy en cuenta.

Saludos
Responder Con Cita
  #24 (permalink)  
Antiguo 22-02-2008, 19:59:09
luisfleon@gmail.com
 
Mensajes: n/a
Predeterminado Re: Es posible adicionar un registro al ResultSet sin que actualicela Base de Datos ???

On 22 feb, 04:57, Eduardo Yáñez Parareda
<eduardo.yanezNOS...***NOSPAMgmail.com> wrote:
> > private Connection conexion;
> > private ResultSet consulta;
> > private ResultSetTableModel tableModel;

>
> A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor
> te venga.
>
> En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una
> consulta (más o menos):
>
> public void foo() {
> *** ***Connection conn = null;
> *** ***Statement stmt = null;
> *** ***try {
> *** *** ***conn = getConexion()....;
> *** *** ***stmt = conn.createStatement....
> *** *** ***ResultSet rs = stmt.executeQuery....
> *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura....
> *** *** ***while(rs.hasNext()) {
> *** *** *** *** ***.....
> *** *** ***}
> *** ***} catch (Exception ex) {
> *** *** ***ex.printStackTrace();
> *** ***} finally {
> *** *** ***try {
> *** *** *** ***if (stmt != null) {
> *** *** *** *** ***stmt.close();
> *** *** *** ***}
> *** *** *** ***if (conn != null) {
> *** *** *** *** ***conn.close();
> *** *** *** ***}
> *** *** ***} catch (SQLException ex) {
> *** *** *** ***ex.printStackTrace();
> *** *** ***}
> *** ***}
>
> }
>
> Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para
> gestionar todo eso.
>
> Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria...


Muchas gracias por tus sugerencia, me parece muy importante lo que me
indicas lo tomare muy en cuenta.

Saludos
Responder Con Cita
  #25 (permalink)  
Antiguo 22-02-2008, 19:59:09
luisfleon@gmail.com
 
Mensajes: n/a
Predeterminado Re: Es posible adicionar un registro al ResultSet sin que actualicela Base de Datos ???

On 22 feb, 04:57, Eduardo Yáñez Parareda
<eduardo.yanezNOS...***NOSPAMgmail.com> wrote:
> > private Connection conexion;
> > private ResultSet consulta;
> > private ResultSetTableModel tableModel;

>
> A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor
> te venga.
>
> En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una
> consulta (más o menos):
>
> public void foo() {
> *** ***Connection conn = null;
> *** ***Statement stmt = null;
> *** ***try {
> *** *** ***conn = getConexion()....;
> *** *** ***stmt = conn.createStatement....
> *** *** ***ResultSet rs = stmt.executeQuery....
> *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura....
> *** *** ***while(rs.hasNext()) {
> *** *** *** *** ***.....
> *** *** ***}
> *** ***} catch (Exception ex) {
> *** *** ***ex.printStackTrace();
> *** ***} finally {
> *** *** ***try {
> *** *** *** ***if (stmt != null) {
> *** *** *** *** ***stmt.close();
> *** *** *** ***}
> *** *** *** ***if (conn != null) {
> *** *** *** *** ***conn.close();
> *** *** *** ***}
> *** *** ***} catch (SQLException ex) {
> *** *** *** ***ex.printStackTrace();
> *** *** ***}
> *** ***}
>
> }
>
> Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para
> gestionar todo eso.
>
> Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria...


Muchas gracias por tus sugerencia, me parece muy importante lo que me
indicas lo tomare muy en cuenta.

Saludos
Responder Con Cita
  #26 (permalink)  
Antiguo 22-02-2008, 19:59:09
luisfleon@gmail.com
 
Mensajes: n/a
Predeterminado Re: Es posible adicionar un registro al ResultSet sin que actualicela Base de Datos ???

On 22 feb, 04:57, Eduardo Yáñez Parareda
<eduardo.yanezNOS...***NOSPAMgmail.com> wrote:
> > private Connection conexion;
> > private ResultSet consulta;
> > private ResultSetTableModel tableModel;

>
> A primera vista, nunca tendría un atributo ResultSet. Lee el ResultSet yguarda la info en un List, Set o lo que mejor
> te venga.
>
> En segundo lugar, las conexiones a la BD, ¿en qué momento las liberas?, en ningún sitio. Forma correcta de hacer una
> consulta (más o menos):
>
> public void foo() {
> *** ***Connection conn = null;
> *** ***Statement stmt = null;
> *** ***try {
> *** *** ***conn = getConexion()....;
> *** *** ***stmt = conn.createStatement....
> *** *** ***ResultSet rs = stmt.executeQuery....
> *** *** ***// Bucle para recorrer el ResultSet y guardarlo en una estructura....
> *** *** ***while(rs.hasNext()) {
> *** *** *** *** ***.....
> *** *** ***}
> *** ***} catch (Exception ex) {
> *** *** ***ex.printStackTrace();
> *** ***} finally {
> *** *** ***try {
> *** *** *** ***if (stmt != null) {
> *** *** *** *** ***stmt.close();
> *** *** *** ***}
> *** *** *** ***if (conn != null) {
> *** *** *** *** ***conn.close();
> *** *** *** ***}
> *** *** ***} catch (SQLException ex) {
> *** *** *** ***ex.printStackTrace();
> *** *** ***}
> *** ***}
>
> }
>
> Si no tienes más remedio, usa las conexiones así, pero yo usaría pooles de conexiones, o algo como Hibernate para
> gestionar todo eso.
>
> Al dejar conexiones y statements abiertos, dejas muchos recursos sin liberar, por lo que te quedas sin memoria...


Muchas gracias por tus sugerencia, me parece muy importante lo que me
indicas lo tomare muy en cuenta.

Saludos
Responder Con Cita
 
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
Lentitud en mi sistema cuando hay muchos usuarios conectados a labase de datos farego19@gmail.com Newsgroup microsoft.public.es.vfoxpro 1 23-06-2008 19:02:57
Actualizacion de Base de Datos Mediante Un Resultset luisfleon@gmail.com Newsgroup es.comp.lenguajes.java 5 13-03-2008 18:12:44
Posible perdida de datos Sergio Newsgroup microsoft.public.es.windowsxp.hardware 12 16-10-2007 13:43:25
Adicionar coma a datos character Alonso Vilela Newsgroup microsoft.public.es.vfoxpro.datos 0 14-02-2007 22:31:35
ResultSet - Posicionarse en un registro Juan Carlos Trapero Newsgroup es.comp.lenguajes.java 6 18-08-2005 15:22:08





Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.