none
DataTable a Matriz RRS feed

  • Pregunta

  • Estimados amigos:

    Tengo la siguiente tabla:

    --=======================================================
    --Tabla Caja:
    --=======================================================
    if OBJECT_ID('Caja','U') is not null
       drop table Caja
       go
    --else
       create table Caja
       (
          idMovimiento int identity(1,1) not null primary key,
          ingreso decimal(9,2),
          egreso decimal (9,2),
          saldo decimal(9,2)
       )
       go
    --end

    insert into Caja(ingreso,egreso) values (400,0)
    go
    insert into Caja(ingreso,egreso) values (100,0)
    go
    insert into Caja(ingreso,egreso) values (0,150)
    go

    select * from Caja
    go

    Exploto el contenido de esta tabla a un DataTable, y quiero almacenarlo en una matriz, ¿cómo puedo hacerlo?

    Gracias.


    Programmer Peru


    lunes, 28 de mayo de 2012 0:42

Respuestas

  • Una objeción al planteamiento inicial:

    Presumo que lo de "pasarlo a una matriz" significa que se desea tener tantas filas como registros y tantas columnas como campos tenga la tabla. Pero en una matriz, todas las "celdas" tienen que ser del mismo tipo, mientras que los campos de la tabla no tienen por qué serlo. En particular, en este caso la tabla tiene un campo de tipo int y tres de tipo decimal, pero no es posible crear una matriz con una columna de tipo int y tres columnas de tipo decimal. Desde luego, se podrían crear las cuatro columnas de tipo decimal y convertir los "int" en "decimal", pero esto "huele mal": se está perdiendo la robustez de tipo en ese campo; es una indicacion de que algo no se ha pensado bien en el diseño de la aplicación que requiere que esos datos se inserten en una matriz.

    • Marcado como respuesta Eder Costa viernes, 1 de junio de 2012 15:07
    lunes, 28 de mayo de 2012 6:40

Todas las respuestas

  • Para llenar el datatable puede usar un SqlDataAdapter (si recuerdo bien el nombre de la clase) en .Net (asumo que estamos hablando de programación en .net).  Luego para pasarlo a una matriz sería cuestión de preguntarle al datatable la cantidad de filas y columnas y crear la matriz según como lo dicta el lenguaje usado (C#, vb.net, etc.).  ¿Qué lo detiene exactamente?

    Jose R. MCP

    lunes, 28 de mayo de 2012 4:44
  • Una objeción al planteamiento inicial:

    Presumo que lo de "pasarlo a una matriz" significa que se desea tener tantas filas como registros y tantas columnas como campos tenga la tabla. Pero en una matriz, todas las "celdas" tienen que ser del mismo tipo, mientras que los campos de la tabla no tienen por qué serlo. En particular, en este caso la tabla tiene un campo de tipo int y tres de tipo decimal, pero no es posible crear una matriz con una columna de tipo int y tres columnas de tipo decimal. Desde luego, se podrían crear las cuatro columnas de tipo decimal y convertir los "int" en "decimal", pero esto "huele mal": se está perdiendo la robustez de tipo en ese campo; es una indicacion de que algo no se ha pensado bien en el diseño de la aplicación que requiere que esos datos se inserten en una matriz.

    • Marcado como respuesta Eder Costa viernes, 1 de junio de 2012 15:07
    lunes, 28 de mayo de 2012 6:40