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

[SOLUCIONADO] crear una tabla dependiendo de los resultados de un select

Estas en el tema de crear una tabla dependiendo de los resultados de un select en el foro de .NET en Foros del Web. Hola, Estoy programando en vb.net y necesito crear una tabla depensiendo de lo que me devuelva una query. Yo tengo un selet el cual me ...
  #1 (permalink)  
Antiguo 25/03/2013, 05:02
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Exclamación crear una tabla dependiendo de los resultados de un select

Hola,

Estoy programando en vb.net y necesito crear una tabla depensiendo de lo que me devuelva una query.

Yo tengo un selet el cual me puede devolver, un valor, dos, n valores. Quiero ir creando una tabla dependiendo de los valores que me devuelva.

¿Alguien me puede ayudar?

Gracias,
__________________
Gracias por todo;

Un saludo
  #2 (permalink)  
Antiguo 25/03/2013, 05:20
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: crear una tabla dependiendo de los resultados de un select

Actualmente como tienes creada la tabla? Te refieres a un datagrid o una tabla HTML? Puedes recorrer los datos mediante la función Read del SqlDataReader
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 25/03/2013, 05:39
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: crear una tabla dependiendo de los resultados de un select

Cita:
Iniciado por Malenko Ver Mensaje
Actualmente como tienes creada la tabla? Te refieres a un datagrid o una tabla HTML? Puedes recorrer los datos mediante la función Read del SqlDataReader
Actualmente la tabla no la tengo creada. Quiero que vaya recorriendo los datos y me vaya creando las row de la tabla dependiendo de lo que recorra. La cell siempre va a ser 2 ya que solo quiero mostrar el id y la fecha.
__________________
Gracias por todo;

Un saludo
  #4 (permalink)  
Antiguo 25/03/2013, 06:39
 
Fecha de Ingreso: abril-2011
Ubicación: Alicante
Mensajes: 52
Antigüedad: 13 años
Puntos: 3
Información Respuesta: crear una tabla dependiendo de los resultados de un select

Pero estás usando Windows Form o WPF u otro lenguaje de .Net?

Yo por ejemplo en WPF con linQ tengo el siguiente código para que no se me autogeneren las columnas y mostrar únicamente 2.

Código:
 
<DataGrid Name="gridEqui" Height="500" VerticalAlignment="Top" HorizontalAlignment="Left" AutoGenerateColumns="False" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" MouseDoubleClick="gridCiclis_MouseDoubleClick" ItemsSource="{Binding}" Loaded="gridEqui_Loaded_1">
            <DataGrid.Columns>
                <DataGridTextColumn Binding="{Binding nom}" Header="nombre equipo"/>
                <DataGridTextColumn Binding="{Binding director}" Header="nombre director"/>
            </DataGrid.Columns>
        </DataGrid>

Y luego para cargar los datos de la base de datos uso este método:

Código:
     
       //Cargo el formulario
        private void WgridEqui_Loaded(object sender, RoutedEventArgs e)
        {
            seleccionado = null;
            //Cargo los datos del contexto.
            //actualizo el datagrid
            gridEqui.DataContext = objeto.MostrarTodosLosEquipos();
        }
Mostrar todos los equipos es un servicio que creé:

Código:
        //Obtiene toda la información de los equipos
        public List<equips> MostrarTodosLosEquipos()
        {
            List<equips> listaEquipos = (from equipo in contexto.equips select equipo).ToList();
            return listaEquipos;
        }
Pero claro está recuerda que esto es, con WPF y con Linq, mostrando los datos en un datagrid.

Última edición por capixi; 25/03/2013 a las 06:42 Razón: Faltaba código para mostrar
  #5 (permalink)  
Antiguo 25/03/2013, 07:00
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: crear una tabla dependiendo de los resultados de un select

Cita:
Iniciado por maialenlopez Ver Mensaje
Actualmente la tabla no la tengo creada. Quiero que vaya recorriendo los datos y me vaya creando las row de la tabla dependiendo de lo que recorra. La cell siempre va a ser 2 ya que solo quiero mostrar el id y la fecha.
Tendrias que hacer algo similar a esto (no suelo programar en VB.NET así que puede que se cuele algún errror):

Código:
Dim command As New SqlCommand(SQLquery, connection)
connection.Open()

Dim dr As SqlDataReader = command.ExecuteReader()

' Creamos la tabla con la cabecera
' ...

While dr.Read()
   ' Agregamos la columna a la tabla
EndWhile
En el tema de crear las filas en la tabla no te puedo ayudar más porque no sé que tipo de objeto tabla estas intentando usar (DataTable, DataGrid,...). Pero la lógica del "rellenado" tendría que seguir ese código. Según el objeto que quieras rellenar puede simplificarse y optimizarse muchisimo haciendo el binding al DataSet directamente.
__________________
Aviso: No se resuelven dudas por MP!
  #6 (permalink)  
Antiguo 08/04/2013, 05:22
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: crear una tabla dependiendo de los resultados de un select

Cita:
Iniciado por Malenko Ver Mensaje
Tendrias que hacer algo similar a esto (no suelo programar en VB.NET así que puede que se cuele algún errror):

Código:
Dim command As New SqlCommand(SQLquery, connection)
connection.Open()

Dim dr As SqlDataReader = command.ExecuteReader()

' Creamos la tabla con la cabecera
' ...

While dr.Read()
   ' Agregamos la columna a la tabla
EndWhile
En el tema de crear las filas en la tabla no te puedo ayudar más porque no sé que tipo de objeto tabla estas intentando usar (DataTable, DataGrid,...). Pero la lógica del "rellenado" tendría que seguir ese código. Según el objeto que quieras rellenar puede simplificarse y optimizarse muchisimo haciendo el binding al DataSet directamente.
Algo asíi habia pensado hacer pero el problema es que no se como decirle que me cree la tabla ni me vaya creando las columnas.
__________________
Gracias por todo;

Un saludo
  #7 (permalink)  
Antiguo 08/04/2013, 10:00
 
Fecha de Ingreso: abril-2011
Ubicación: Alicante
Mensajes: 52
Antigüedad: 13 años
Puntos: 3
Respuesta: crear una tabla dependiendo de los resultados de un select

Si no te importa pega aquí tu trozo de código y dinos donde no sabes como continuar para que te podamos ayudar mejor.
Saludos.
  #8 (permalink)  
Antiguo 09/04/2013, 02:00
 
Fecha de Ingreso: abril-2012
Mensajes: 449
Antigüedad: 12 años, 1 mes
Puntos: 7
Respuesta: crear una tabla dependiendo de los resultados de un select

Ya he solucionado el tema. Pongo aquí el código por si a alguien le hace falta:
Código vb.net:
Ver original
  1. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  2.         Dim fechaActual As Date
  3.         Dim nombre, email, mesAnterior, fechacompro, anoActual As String
  4.         Dim mesActual As Integer
  5.         'Dim i, j, cuanto As Integer
  6.         'Dim numcells As Integer = 2
  7.         'i = 0
  8.  
  9.         fechaActual = Now.Date
  10.         mesActual = Month(fechaActual)
  11.         anoActual = Year(fechaActual)
  12.  
  13.         If mesActual = 1 Then
  14.             mesAnterior = 12
  15.         Else
  16.             mesAnterior = mesActual - 2
  17.             'mesAnterior = mesActual
  18.         End If
  19.  
  20.         If mesAnterior < 10 Then
  21.             mesAnterior = "0" + mesAnterior
  22.         End If
  23.  
  24.         fechacompro = anoActual + "-" + mesAnterior + "-"
  25.  
  26.         Dim conn As New SqlConnection(WebConfigurationManager.ConnectionStrings("conexionDesa").ConnectionString)
  27.         'Dim comm1 As SqlCommand = New SqlCommand("SELECT COUNT(DISTINCT(email)) " & _
  28.         '                                        "FROM dbo.temp_datosComunesConceptos " & _
  29.         '                                        "WHERE fecha LIKE '" & fechacompro & "%'", conn)
  30.         'Dim reader1 As SqlDataReader
  31.         Dim comm2 As SqlCommand = New SqlCommand("SELECT DISTINCT(email), nombreApellidos " & _
  32.                                                 "FROM dbo.temp_datosComunesConceptos " & _
  33.                                                 "WHERE fecha LIKE '" & fechacompro & "%'" & _
  34.                                                 "ORDER BY nombreApellidos", conn)
  35.         Dim reader2 As SqlDataReader
  36.  
  37.         Try
  38.  
  39.             Using conn
  40.  
  41.                 'conn.Open()
  42.                 'With comm1
  43.                 '    reader1 = .ExecuteReader()
  44.                 '    While reader1.Read()
  45.                 '        cuanto = reader1.GetValue(0)
  46.                 '    End While
  47.                 '    .Dispose()
  48.                 'End With
  49.                 'If conn.State = ConnectionState.Open Then
  50.  
  51.                 '    conn.Close()
  52.                 'End If
  53.  
  54.                 conn.Open()
  55.                 With comm2
  56.                     reader2 = .ExecuteReader()
  57.                     While reader2.Read()
  58.                         'For i = 0 To cuanto - 1
  59.                         Dim objRow As New TableRow()
  60.  
  61.                         email = reader2.GetValue(0)
  62.                         nombre = reader2.GetValue(1)
  63.  
  64.                         'For j = 0 To numcells - 1
  65.                         Dim objCell1 As New TableCell()
  66.                         Dim objCell2 As New TableCell()
  67.  
  68.                         objCell1.Controls.Add(New LiteralControl(nombre))
  69.                         objCell2.Controls.Add(New LiteralControl(email))
  70.                         objRow.Cells.Add(objCell1)
  71.                         objRow.Cells.Add(objCell2)
  72.                         'Next
  73.                         Table1.Rows.Add(objRow)
  74.                         'Next
  75.                     End While
  76.                     .Dispose()
  77.                 End With
  78.             End Using
  79.         Catch ex As Exception
  80.  
  81.             MsgBox("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  82.             'mensaje("Error en BD" & Chr(13) & Chr(13) & ex.Message)
  83.         Finally
  84.             conn.Close()
  85.             conn.Dispose()
  86.         End Try
  87.     End Sub

Gracias a todos por vuestra ayuda.

__________________
Gracias por todo;

Un saludo
  #9 (permalink)  
Antiguo 12/04/2013, 04:13
 
Fecha de Ingreso: abril-2011
Ubicación: Alicante
Mensajes: 52
Antigüedad: 13 años
Puntos: 3
Respuesta: crear una tabla dependiendo de los resultados de un select

Me alegro que lo solucionases. Gracias por el código.

Etiquetas: dependiendo, resultados, select, tabla, vb
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 21:21.