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

Rellenar dataset manualmente

Estas en el tema de Rellenar dataset manualmente en el foro de .NET en Foros del Web. Hola! necesito mostrar una tabla de datos por pantalla, pero no lo puedo hacer directamente recogiendo estos datos de la base de datos y enlazandolo ...
  #1 (permalink)  
Antiguo 01/06/2005, 04:18
 
Fecha de Ingreso: mayo-2005
Mensajes: 30
Antigüedad: 19 años, 6 meses
Puntos: 0
Rellenar dataset manualmente

Hola!
necesito mostrar una tabla de datos por pantalla, pero no lo puedo hacer directamente recogiendo estos datos de la base de datos y enlazandolo al datagrid, ya que estos datos los tengo que calcular. Por eso he pensado que la mejor forma sería usar un dataset (corregirme si hay alguna idea mejor) y bueno no se como rellenar un dataset manualmente, es decir insertar cada fila con los datos que caculo. Alguna idea?
  #2 (permalink)  
Antiguo 01/06/2005, 11:14
Avatar de Rony J.  
Fecha de Ingreso: noviembre-2004
Ubicación: Maracay - Vzla
Mensajes: 223
Antigüedad: 20 años
Puntos: 0
Cita:
Iniciado por alukard82bcn
no lo puedo hacer directamente recogiendo estos datos de la base de datos y enlazandolo al datagrid, ya que estos datos los tengo que calcular
y no pueds hacer el calculo en la misma sentencia que te devolverá los registros?

De esta manera cargarías un DataReader o DataGrid con los datos de la búsqueda (los calculados también) y lo usas como DataSource para tu Grid.

Es solo una idea, y que particularmente me parece buena opción...
Saludos
__________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Albert Einstein
  #3 (permalink)  
Antiguo 01/06/2005, 11:39
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 7 meses
Puntos: 9
Y mejor que un DataReader seria un ExecuteScalar, sería algo más óptimo. Eso si, siempre y cuando esos datos que deseas calcular sean los aceptados por las sentencia SQL, como calcular el total de registros, el valor maximo o minimo, etc.
Y si no es ese tipo de calculo el que deseas hacer, podrías crearte una tabla nueva si es que son muchos calculos, luego creas una nueva fila y agregas los datos manualmente.
Así sería algo como ejemplo:

Dim DS As DataSet = New DataSet("Nombre_de_tu_dataset")
Dim Tabla As DataTable = DS.Tables.Add("Tabla_de_calculos")

Tabla.Columns.Add("Columna1", Type.GetType("tipo_de_datos que contendrá la columna")
Tabla.Columns.Add("Columna2", Type.Gettype("tipo_de datos que contendrá la columna")
etc etc por la cantidad de columnas que quieras. Cada columna podría representar un calculo distinto o eso lo diagramarías vos como te guste.
Ahí ya tenes las columnas de la tabla, ahora hay que empezar a agregar las nuevas filas con los calculos:

Dim Fila As DataRow

Fila = DS.TAbles(0).NewRow() ' Acá insertas una fila nueva
Fila("Columna1") = "algún_valor" ' Acá insertas valores a la nueva fila
Fila("Columna2") = "otro_valor"

DS.TAbles(0).Rows.Add(Fila) ' Y Con esto ya quedo agregada la fila a la tabla

Y ya ahí te quedaría armada una tabla con los calculos que hiciste, y ya la puedes usar como fuente de datos del control que estés usando para mostrar los datos.
Espero que te sirva de algo.
Saludos!.
  #4 (permalink)  
Antiguo 01/06/2005, 12:35
Avatar de Rony J.  
Fecha de Ingreso: noviembre-2004
Ubicación: Maracay - Vzla
Mensajes: 223
Antigüedad: 20 años
Puntos: 0
Cita:
Iniciado por mariano_donati
Y mejor que un DataReader seria un ExecuteScalar, sería algo más óptimo
Quisiste decir mejor que un ExecuteReader no?
Si es así tienes razón, es mejor un ExecuteScalar que un ExecuteReader pero siempre dependiendo de los requerimientos, ya que el ExecuteScalar se debe usar para recuperar un único valor (por ejemplo, un valor agregado) de un origen de datos... algo como esto:
SELECT count(*) FROM table1

Ambos (ExecuteScalar y ExecuteReader) son métodos del objeto command por lo que si sería válida una comparación entre estos, más no entre el primero y el DataReader que es un objeto.


Por cierto, en el anterior post dije "DataReader o DataGrid", en realidad quise decir "DataReader o DataSet"... Disculpen la confusión...
__________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. Albert Einstein
  #5 (permalink)  
Antiguo 01/06/2005, 13:52
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 7 meses
Puntos: 9
si disculpen, quise decir ExecuteReader, ya que como bien decias vos Rony J. no se puede comparar una cosa con la otra. Nuevamente mis disculpas por ese error que no hace más que confundir.
Saludos.
  #6 (permalink)  
Antiguo 06/06/2005, 08:14
 
Fecha de Ingreso: mayo-2005
Mensajes: 30
Antigüedad: 19 años, 6 meses
Puntos: 0
hola chicos, gracias por responder todos y preokuparos por el tema, ya lo solucione, llenando directamente el dataset con una consulta, esk tenia problemas kon el inner join k no me agregaba algunos datos xk les faltaban valores en una de las tablas y entonces claro no me tenia en cuenta los demas datos de las otras tablas. no se si me expliko..jejeje pero bueno k ya lo solucione,

Gracias a todos!!!
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:21.