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

PROBLEMA CON dos FOR

Estas en el tema de PROBLEMA CON dos FOR en el foro de .NET en Foros del Web. Hola amigos, tengo dos FOR...para comparar dos tablas...tendo dos tablas que contienen una información de productos, quiero compararlos por un campo que tienen numérico si ...
  #1 (permalink)  
Antiguo 05/10/2011, 13:44
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Pregunta PROBLEMA CON dos FOR

Hola amigos, tengo dos FOR...para comparar dos tablas...tendo dos tablas que contienen una información de productos, quiero compararlos por un campo que tienen numérico si el producto existe en una de las tablas y si no existe que lo inserte...pero el for se queda en el for i y no me sube al for x....en el for x tengo la tabla que debe recibir los productos nuevos...mirar

Código:
        For x = 0 To datasets.Tables("Producto").Rows.Count - 1
            '''''''''''''''''''''recibe los productos nuevos''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            nfges = datasets.Tables("Producto").Rows(x).Item("Namilia").ToString
            famges = datasets.Tables("Producto").Rows(x).Item("Nomamilia").ToString

            For i = 0 To dataset.Tables("[Familias de producto]").Rows.Count - 1
                '''''''''''''''''''''''''''''tiene los nuevos para mandarselos a la otra tabla'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                nftpv = dataset.Tables("[producto]").Rows(i).Item("N").ToString
                famtpv = dataset.Tables("[producto]").Rows(i).Item("Nombre").ToString

                'SIN NO HAY NINGUN producto CARGO TODAS LAS QUE ESTÁN en la otra tabla
                If datasets.Tables("FamiliasDeProducto").Rows.Count = 0 Then
                    comandos.CommandType = CommandType.Text
                    comandos.CommandText = "Insert Into Producto (Namilia,Nomamilia) Select N,Nombre FROM  [MS Access;DATABASE=" & TextBox1.Text & "].[producto] order by N"
                    adaptadores.SelectCommand = comandos
                    adaptadores.Fill(datasets, "Producto")
                    Exit For ' Y SALGO DEL FOR TERMINO LA OPERACIÓN
                    'SI EN CAMBIO SI TENGO productos  COMPARO SI LOS NÚMEROS COINCIDEN Y SI NO ES ASÍ...ACTUALIZO EL QUE FALTE
                Else
                    If nftpv = nfges Then
                    Else
                        Dim com = conexion.CreateCommand

                        com.CommandType = CommandType.Text

                        com.CommandText = "UPDATE Producto SET Namilia = '" & nftpv & "', Nomamilia = '" & famtpv & "'"
                        'com.Parameters.AddWithValue("@Id", nftpv = dataset.Tables("[producto]").Rows(i).Item("N"))

                        adaptadores.UpdateCommand = com
                        adaptadores.Fill(datasets, "Producto")
                    End If

                End If

            Next
        Next
  #2 (permalink)  
Antiguo 05/10/2011, 16:02
Avatar de rikakashi  
Fecha de Ingreso: julio-2011
Mensajes: 226
Antigüedad: 12 años, 9 meses
Puntos: 33
Sonrisa Respuesta: PROBLEMA CON dos FOR

DE AQUI NO SE MUEVE MAS If datasets.Tables("FamiliasDeProducto").Rows.Count = 0 Then YA QUE ESTAS DICIENDO QUE SI ES 0 Y CON LA INFORMACION QUE DAS CREO QUE NINGUNA TABLA SE ENCUENTRA VACIA Y ENTONCES TE MANDA EL ELSE, ES DECIR NO INSERTA, SOLO ACTUALIZA TU CODIGO... BUENO ES LO QUE PUEDO DECIR EN BASE A LO QUE ENTENDI.

DISCULPEN LAS MAYUSCULAS PERI MI CONTROLTAB NO FUNCA
__________________
la programación es tan grande como la imaginación (+.+)
  #3 (permalink)  
Antiguo 05/10/2011, 16:49
 
Fecha de Ingreso: noviembre-2010
Ubicación: madrid
Mensajes: 478
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: PROBLEMA CON dos FOR

jajajjaa....oye te mando un teclado de regalo...jajaja...vale ahí estaba el problema...claro ya lo he corregido...muchas gracias como siempreeeee

Etiquetas: textbox
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 06:01.