none
Problema lentitud proceso de comprobacion RRS feed

  • Pregunta

  • hola a todos, tengo el siguiente problema:

    Tengo que meter una serie de datos en una bbdd creada en access que lo únco que contiene esta bbdd es una tabla con un campo autonumérico, un campo string y un campo booleano.

    Lo primero que tengo que hacer es comprobar si existen estos registros y de no existir agregarlos.

    este es el codigo:

        Dim cantidadDeRutasInsertadas As Integer = 0
            'Comprobamos que las rutas no existen en la bbdd y las guardamos de no existir
            Try
                abrirconexion()
                For conta = 0 To listaRutas.Count - 1
    
                    Dim sql As String = "select * from rutas where ruta = '" & listaRutas(conta) & "'"
                    Dim sqlcon As New OleDbCommand(sql, Base)
                    Dim datos As OleDbDataReader = sqlcon.ExecuteReader
                    If datos.Read = False Then
                        datos.Close()
                        Dim sqlInsertar As String = "INSERT INTO rutas ( ruta, guardado ) VALUES ('" & listaRutas(conta) & "', 0)"
                        Dim sqlconexion As New OleDbCommand(sql, Base)
                        Dim tmop As Integer
                        Try
                            tmop = sqlcon.ExecuteNonQuery()
                        Catch ex As Exception
                            Throw New Exception(ex.Message)
                        End Try
    
                        cantidadDeRutasInsertadas = cantidadDeRutasInsertadas + 1
                    End If
    
                Next
                cerrarConecion()
    
    
                   
             
            Catch ex As Exception
                Throw New Exception(ex.Message)
            End Try
            Return cantidadDeRutasInsertadas

    Ahora vienen 2 problemas, el primero es que tarda algo mas de 6 minutos para comprobar e insertar los registros que actualmente son un 14000 y el segundo y mas importante que me ha salido después de que los registros se "insertaran" es que  no se guardan es decir se abre la conexión y se puede ver que esta abierta, ya que si miras la carpeta donde esta guardada la base de datos se ver el archivos temporal que se crea, pero al abrir la tabla de la base de datos no hay nada guardado.

    Saludos y gracias

    martes, 23 de abril de 2013 8:53

Todas las respuestas

  • Vale después de mirar mirar y mirar el código ya e conseguido solucionar el problema de que nos se guardaban los datos; Este residía en las variables, concretamente en la parte donde voy hacer la inserción ya que estaba pasando la variable sql y no sqlInsertar.

    Aun así me sigue tardando unos 6 minutos en insertar todos los datos ¿es normal? o tarda demasiado

    Saludos y gracias

    martes, 23 de abril de 2013 9:16