• Viernes 1 de Noviembre de 2024, 13:18

Autor Tema:  Excepción En Dataadapter.fill(datatable)  (Leído 2179 veces)

gabecq

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Excepción En Dataadapter.fill(datatable)
« en: Miércoles 1 de Marzo de 2006, 09:10 »
0
Buenos días.

En una aplicación windows, realizada en C#, tengo el siguiente código, dónde 'select' es un string con la consulta a realizar, 'bbdd' es la conexión a la base de datos (Access) y 'dt' es un objeto DataTable:

"
 OleDbDataAdapter DataAdapter;
 DataAdapter = new OleDbDataAdapter(select, bbdd);
 dt.Rows.Clear();
 dt.Columns.Clear();
 DataAdapter.Fill(dt);  
"

Bien, pues a partir de la segunda vez que la ejecución del programa pasa por la línea 'DataAdapter.Fill(dt);' salta la siguiente excepción:

"
Excepción del tipo 'System.IndexOutOfRangeException' en system.windows.forms.dll
Información adicional: Index was outside the bounds of the array.
"

Se me da la posibilidad de 'Continuar' o 'Interrumpir'. Si pulso 'Continuar' 2 veces la ejecución continúa sin problemas y de forma correcta. El proceso se repite cada vez que se vuelve a pasar por la línea 'DataAdapter.Fill(dt);' ¿Sabeis por qué puede ser?

Muchas gracias.

Gabecq.

hellscream

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: Excepción En Dataadapter.fill(datatable)
« Respuesta #1 en: Jueves 2 de Marzo de 2006, 03:17 »
0
Cambia:
dt.Rows.Clear();
dt.Columns.Clear();

Por:
dt.Clear();

gabecq

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Excepción En Dataadapter.fill(datatable)
« Respuesta #2 en: Jueves 2 de Marzo de 2006, 09:06 »
0
Gracias hellscream, pero sigue igual :-(

hellscream

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: Excepción En Dataadapter.fill(datatable)
« Respuesta #3 en: Jueves 2 de Marzo de 2006, 14:55 »
0
En todo caso brinda una descripción del error más detallada...

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Excepción En Dataadapter.fill(datatable)
« Respuesta #4 en: Jueves 2 de Marzo de 2006, 19:35 »
0
Porque tienes que hacerle clear() :S.

No es necesario hacer eso apra llenar a partir de un dataAdapter.

Saludos,


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

hellscream

  • Miembro activo
  • **
  • Mensajes: 95
    • Ver Perfil
Re: Excepción En Dataadapter.fill(datatable)
« Respuesta #5 en: Viernes 3 de Marzo de 2006, 03:01 »
0
Cita de: "sergiotarrillo"
Porque tienes que hacerle clear() :S.

No es necesario hacer eso apra llenar a partir de un dataAdapter.

Saludos,
El *problema* es que si la tabla ya contiene datos, estos no *desaparecen* al volver a llamar al método Fill (sucede si no existe hay restriciones del tipo PK o parecidos)

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Excepción En Dataadapter.fill(datatable)
« Respuesta #6 en: Viernes 3 de Marzo de 2006, 03:24 »
0
porque no creas una nueva tabla?, manda mas detalles de toda la funcion.

Saludos,


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!