Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar datos de un DataTable a un Array

Estas en el tema de Pasar datos de un DataTable a un Array en el foro de .NET en Foros del Web. Hola, Necesito pasar los datos de una columna de un Data Table a un arreglo, ya sea array o arrayList etc... Podrian ayudarme mas o ...
  #1 (permalink)  
Antiguo 07/08/2012, 09:06
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 17 años
Puntos: 2
Pasar datos de un DataTable a un Array

Hola,
Necesito pasar los datos de una columna de un Data Table a un arreglo, ya sea array o arrayList etc...
Podrian ayudarme mas o menos a decirme como lo hago? :)
  #2 (permalink)  
Antiguo 07/08/2012, 09:56
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 9 meses
Puntos: 37
Respuesta: Pasar datos de un DataTable a un Array

Puedes hacer algo como lo siguiente:

Código C:
Ver original
  1. //- Creación de DataTable
  2. DataTable dtDatos = new DataTable();
  3. dtDatos.Columns.Add("Id");
  4. dtDatos.Columns.Add("Nombre");
  5. dtDatos.Columns.Add("Edad");
  6.  
  7. //- Agregar Datos
  8. DataRow dRow = dtDatos.NewRow();
  9. dRow["Id"] = "1";
  10. dRow["Nombre"] = "Jose";
  11. dRow["Edad"] = "33";
  12. dtDatos.Rows.Add(dRow);
  13.  
  14. dRow = dtDatos.NewRow();
  15. dRow["Id"] = "2";
  16. dRow["Nombre"] = "Maria";
  17. dRow["Edad"] = "28";
  18. dtDatos.Rows.Add(dRow);
  19.  
  20. dRow = dtDatos.NewRow();
  21. dRow["Id"] = "3";
  22. dRow["Nombre"] = "Josefina";
  23. dRow["Edad"] = "29";
  24. dtDatos.Rows.Add(dRow);
  25.  
  26. //- Crear Array
  27. Object[] Datos = new Object[dtDatos.Rows.Count];
  28.  
  29. for (int i = 0; i < dtDatos.Rows.Count; i++)
  30. {
  31.           //- Guardar la Columna Nombre el el Arreglo
  32.          Datos[i] = dtDatos.Rows[i]["Nombre"].ToString();
  33. }

Saludos.
__________________
http://ka0stj.wordpress.com/
  #3 (permalink)  
Antiguo 07/08/2012, 10:08
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 8 meses
Puntos: 61
Respuesta: Pasar datos de un DataTable a un Array

Podes hacerlo con linq.
Solo que cuando llenes el datatable especificas el tipo de dato de la columna que quieres.
Código c#:
Ver original
  1. DataTable dt = new DataTable();
  2. dt.Columns.Add("Id");
  3. dt.Columns.Add("Nombre", typeof(string));
  4. //Tu demás código para llenar el datatable

Y luego haces la consulta linq a tu datable y llenas tu arraylist.
Código c#:
Ver original
  1. var query = from datos in dt.AsEnumerable()
  2.               select new
  3.               {
  4.                      Nombre = datos.Field<string>("Nombre")
  5.               };
  6.  
  7. ArrayList al = new ArrayList();
  8. foreach (var l in query.ToArray())
  9. {
  10.       al.Add(l);
  11. }
dt es el nombre del datatable y en la cosulta linq obtenes los datos de la columna nombre.

Saludos
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #4 (permalink)  
Antiguo 07/08/2012, 10:09
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 17 años
Puntos: 2
Respuesta: Pasar datos de un DataTable a un Array

Hola,
Pero el datatable ya lo tengo armado, son datos obtenidos desde una consulta SQL SERVE. Y solo necesito una columna, con esto podria hacerlo?
  #5 (permalink)  
Antiguo 07/08/2012, 10:28
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 8 meses
Puntos: 61
Respuesta: Pasar datos de un DataTable a un Array

Cita:
Iniciado por th3r0rn Ver Mensaje
Hola,
Pero el datatable ya lo tengo armado, son datos obtenidos desde una consulta SQL SERVE. Y solo necesito una columna, con esto podria hacerlo?
Claro lo puedes hacer con linq como te lo he indicado
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #6 (permalink)  
Antiguo 07/08/2012, 10:30
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 14 años, 9 meses
Puntos: 37
Respuesta: Pasar datos de un DataTable a un Array

Con ambas respuestas podrias hacerlo.

Código C:
Ver original
  1. //- Crear Array
  2. Object[] Datos = new Object[dtDatos.Rows.Count];
  3.  
  4. for (int i = 0; i < dtDatos.Rows.Count; i++)
  5. {
  6.           //- Guardar la Columna Nombre el el Arreglo
  7.           Datos[i] = dtDatos.Rows[i]["Nombre"].ToString();
  8. }

Donde dtDatos es tu DataTable que llenaste de SQL Server y "Nombre" es la columna que quieres pasar.
__________________
http://ka0stj.wordpress.com/

Etiquetas: datatable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:33.