none
como lleno un datagridview con el resultado de una consulta en sql hecha a varias tablas de la base de datos

    Question

  • Holaaa lo que pretendo hacer es insertar datos de un datagrid a la bd haciendo un recorrido para insertar cada dato del grid.. y cuand inserto el primero dato en la tabla mensual_pta tomo el valor de su folio_men y con este dato realizo otra busqueda de todas las entradas que registro cada planta...y con el resultado de esa consulta lleno otro data grid pero el detalle es que aunque cambie el indice del for en mi segundo datagriddd solo me almacena los datos del ultimo folio que entro.. y lo que yo quiero es que me almacene en el segundo griddd todos los datosss que resulten no solamente el ultimo datooo...ya que si me busca los datos que quiero pero solo me muestra el ultimo resultado de la consulta en el griddd

    espero me halla dado a entender..y me upedan ayudarrr: este es mi codigoooo

    DGV_Mensual.AllowUserToAddRows = False
            For i As Integer = 0 To DGV_Mensual.Rows.Count - 1
              Dim folio As Integer = 0
              Dim cmd1 As New SqlCommand("insert into mensual_pta(cve_pta,carga_dia,fecha_ini,fecha_fin,dias_op_pta)values('" & DGV_Mensual.Rows(i).Cells(0).Value & "'," & DGV_Mensual.Rows(i).Cells(1).Value & ",'" & Txt_F_Ini.Text & "','" & Txt_F_Final.Text & "'," & DGV_Mensual.Rows(i).Cells(2).Value & ")", cadena)
              cmd1.ExecuteNonQuery()
              Dim cmd2 As New SqlCommand("select folio_men from mensual_pta where cve_pta = '" & DGV_Mensual.Rows(i).Cells(0).Value & "'", cadena)
              Dim dr1 As SqlDataReader = cmd2.ExecuteReader
    
              If dr1.Read Then
                folio = dr1.Item("folio_men")
                dr1.Close()
                Dim j As Integer = 0
                DGV_Historico.AllowUserToAddRows = False
                Dim cmd3 As New SqlCommand("select mp.folio_men,e.codificacion,sum(e.cant_recib) as suma_cant_recib from cat_plantas cp,solic_entradas se,entradas e,mensual_pta mp where cp.cve_sector='" & Label5.Text & _
                "'and e.cve_pta=cp.cve_pta and e.cve_pta=mp.cve_pta and folio_men=" & folio & _
                " and se.folio_int=e.folio_int and fecha_entrega between @fecha_1 and @fecha_2 Group by mp.folio_men,e.cve_pta,e.codificacion order by codificacion", cadena)
                cmd3.Parameters.AddWithValue("fecha_1", CDate(Txt_F_Ini.Text))
                cmd3.Parameters.AddWithValue("fecha_2", CDate(Txt_F_Final.Text))
                Dim dr2 As SqlDataReader = cmd3.ExecuteReader()
                While dr2.Read
                  DGV_Historico.Rows.Add(1)
                  DGV_Historico.Rows(j).Cells(1).Value = dr2(0)
                  DGV_Historico.Rows(j).Cells(0).Value = dr2(1)
                  DGV_Historico.Rows(j).Cells(3).Value = dr2(2)
                  j += 1
                End While
                dr2.Close()
    
                Dim k As Integer = 0
                DGV_Historico.AllowUserToAddRows = False
                Dim cmd4 As New SqlCommand("select u_medida,sum(e.cant_recib) as suma_cant_recib from cat_plantas cp,solic_entradas se,entradas e,mensual_pta mp,cat_sustancias cs where cp.cve_sector='" & Label5.Text & _
               "'and e.cve_pta=cp.cve_pta and e.cve_pta=mp.cve_pta and folio_men=" & folio & _
               " and se.folio_int=e.folio_int and e.codificacion=cs.codificacion and fecha_entrega between @fecha_i and @fecha_f Group by mp.folio_men,e.cve_pta,e.codificacion,cs.u_medida", cadena)
                cmd4.Parameters.AddWithValue("fecha_i", CDate(Txt_F_Ini.Text))
                cmd4.Parameters.AddWithValue("fecha_f", CDate(Txt_F_Final.Text))
                Dim dr3 As SqlDataReader = cmd4.ExecuteReader()
                While dr3.Read
                  DGV_Historico.Rows(k).Cells(2).Value = dr3(0)
                  k += 1
                End While
                dr3.Close()
    
              End If
    
            Next

    DORI
    Monday, November 22, 2010 6:59 PM