none
tengo 1900 registro en mi BD Sql server RRS feed

  • Pregunta

  • tengo la cantidad de registro mencionada en el titulo, el problema que poseo es que cada vez que registro, modifico o elimina, se congela como 30 segundo el sistema. cual seria el problema? 
    lunes, 22 de mayo de 2017 2:16

Respuestas

  • ...hace el registro pero después que muestra el mensaje de que se ha registrado correctamente se cuelga por casi 1 minuto

    El método ExecuteNonQuery es síncrono, por tanto, si obtienes el mensaje de confirmación y posterior a cerrar el cuadro de diálogo se produce la demora entonces se deduce que los métodos limpiar() o FromatDataGridView2() son los que causan el delay. Si comentas las llamadas a dichos métodos ¿presentas la misma demora?, si la demora no se produce entonces has un seguimiento al código de los métodos línea a línea (con el depurador) para validar que instrucción o instrucciones son las que producen el tiempo de espera.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 22 de mayo de 2017 3:16
  • Si dices que el mensaje "Datos correctamente registrados" se muestra al momento pero se demora luego es en 

    limpiar()  y  en FromatDataGridView2() donde se está produciendo la demora.

    ¿Qué código tienes en esos procedientos?


    Saludos, Javier J

    martes, 23 de mayo de 2017 7:19

Todas las respuestas

  • Hola Luiggigarcia

    1900 registros es muy poco para un que muestre lentitud un mantenimiento, cómo estás conectándote, qué objetos estás utilizando, quizá no son óptimas las sintaxis utilizadas, nos muestras para apoyarte?

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    lunes, 22 de mayo de 2017 2:19
  • Dim cn As New SqlConnection("Data Source=PERSONAL\SQLEXPRESS;Initial Catalog=bd_taxi;Persist Security Info=True;User ID=personal;Password=12345")
    
                            Dim coUsuario As New SqlCommand("registro_bdtaxi", cn)
    
    
                            coUsuario.CommandType = CommandType.StoredProcedure
    
                            coUsuario.Parameters.Add("@nombre_empresa", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@movil", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@telefono_local", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@direccion", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@fecha", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@presidente", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@n_codigo", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@modalidad", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@n_unidad", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@codigo_chofer", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@nombre_chofer", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@apellido_chofer", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@cedula_chofer", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@licencia_chofer", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@codigo_propietario", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@nombre_propietario", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@apellido_propietario", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@cedula_propietario", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@licencia_propietario", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@placa", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@marca", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@ano", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@tipo", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@color", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@serial_carroceria", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@serial_motor", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@puesto", System.Data.SqlDbType.VarChar)
                            coUsuario.Parameters.Add("@estatus", System.Data.SqlDbType.VarChar)
    
    
    
    
                            coUsuario.Parameters("@nombre_empresa").Value = TextBox1.Text
                            coUsuario.Parameters("@movil").Value = MaskedTextBox1.Text
                            coUsuario.Parameters("@telefono_local").Value = MaskedTextBox2.Text
                            coUsuario.Parameters("@direccion").Value = TextBox4.Text
                            coUsuario.Parameters("@fecha").Value = MaskedTextBox3.Text
                            coUsuario.Parameters("@presidente").Value = TextBox6.Text
                            coUsuario.Parameters("@n_codigo").Value = TextBox12.Text
                            coUsuario.Parameters("@modalidad").Value = TextBox11.Text
                            coUsuario.Parameters("@n_unidad").Value = TextBox10.Text
                            coUsuario.Parameters("@codigo_chofer").Value = TextBox9.Text
                            coUsuario.Parameters("@nombre_chofer").Value = TextBox8.Text
                            coUsuario.Parameters("@apellido_chofer").Value = TextBox7.Text
                            coUsuario.Parameters("@cedula_chofer").Value = TextBox28.Text
                            coUsuario.Parameters("@licencia_chofer").Value = ComboBox5.Text
                            coUsuario.Parameters("@codigo_propietario").Value = TextBox18.Text
                            coUsuario.Parameters("@nombre_propietario").Value = TextBox17.Text
                            coUsuario.Parameters("@apellido_propietario").Value = TextBox16.Text
                            coUsuario.Parameters("@cedula_propietario").Value = TextBox15.Text
                            coUsuario.Parameters("@licencia_propietario").Value = ComboBox4.Text
                            coUsuario.Parameters("@placa").Value = TextBox13.Text
                            coUsuario.Parameters("@marca").Value = ComboBox3.Text
                            coUsuario.Parameters("@ano").Value = ComboBox1.Text
                            coUsuario.Parameters("@tipo").Value = TextBox22.Text
                            coUsuario.Parameters("@color").Value = TextBox21.Text
                            coUsuario.Parameters("@serial_carroceria").Value = TextBox20.Text
                            coUsuario.Parameters("@serial_motor").Value = TextBox19.Text
                            coUsuario.Parameters("@puesto").Value = ComboBox6.Text
                            coUsuario.Parameters("@estatus").Value = ComboBox2.Text
                            cn.Open()
                            coUsuario.ExecuteNonQuery()
                            cn.Close()
    
    
                            MessageBox.Show("Datos correctamente registrados", "Mensaje")
                            limpiar()
    
                            FromatDataGridView2()
    
                        Catch ex As Exception
                            MessageBox.Show(ex.Message)
    
                        End Try
    
                    End If
                End Using
    ese es el codigo que utilizo para hacer el registro. como te mencione el hace el registro pero despues que muestra el mensaje de que se ha registrado correctamente se cuelga por casi 1 minuto
    lunes, 22 de mayo de 2017 2:26
  • Luiggigarcia

    No sé si tu lentitud sea por la forma en como estás utilizando el código, pero inténtalo de la siguiente forma:

    Lo primero, en la parte superior considera:

    Imports System.Data
    Imports System.Data.SqlClient

    y seguido a ello:

    Dim cn As New SqlConnection("Data Source=PERSONAL\SQLEXPRESS;Initial Catalog=bd_taxi;Persist Security Info=True;User ID=personal;Password=12345")
    
            Dim coUsuario As New SqlCommand("registro_bdtaxi", cn)
    
            coUsuario.CommandType = CommandType.StoredProcedure
            coUsuario.Parameters.Add("@nombre_empresa", SqlDbType.VarChar).Value = TextBox1.Text
            coUsuario.Parameters.Add("@movil", SqlDbType.VarChar).Value = MaskedTextBox1.Text
            coUsuario.Parameters.Add("@telefono_local", SqlDbType.VarChar).Value = MaskedTextBox2.Text
            coUsuario.Parameters.Add("@direccion", SqlDbType.VarChar).Value = TextBox4.Text
            coUsuario.Parameters.Add("@fecha", SqlDbType.VarChar).Value = MaskedTextBox3.Text
            coUsuario.Parameters.Add("@presidente", SqlDbType.VarChar).Value = TextBox6.Text
            coUsuario.Parameters.Add("@n_codigo", SqlDbType.VarChar).Value = TextBox12.Text
            coUsuario.Parameters.Add("@modalidad", SqlDbType.VarChar).Value = TextBox11.Text
            coUsuario.Parameters.Add("@n_unidad", SqlDbType.VarChar).Value = TextBox10.Text
            coUsuario.Parameters.Add("@codigo_chofer", SqlDbType.VarChar).Value = TextBox9.Text
            coUsuario.Parameters.Add("@nombre_chofer", SqlDbType.VarChar).Value = TextBox8.Text
            coUsuario.Parameters.Add("@apellido_chofer", SqlDbType.VarChar).Value = TextBox7.Text
            coUsuario.Parameters.Add("@cedula_chofer", SqlDbType.VarChar).Value = TextBox28.Text
            coUsuario.Parameters.Add("@licencia_chofer", SqlDbType.VarChar).Value = ComboBox5.Text
            coUsuario.Parameters.Add("@codigo_propietario", SqlDbType.VarChar).Value = TextBox18.Text
            coUsuario.Parameters.Add("@nombre_propietario", SqlDbType.VarChar).Value = TextBox17.Text
            coUsuario.Parameters.Add("@apellido_propietario", SqlDbType.VarChar).Value = TextBox16.Text
            coUsuario.Parameters.Add("@cedula_propietario", SqlDbType.VarChar).Value = TextBox15.Text
            coUsuario.Parameters.Add("@licencia_propietario", SqlDbType.VarChar).Value = ComboBox4.Text
            coUsuario.Parameters.Add("@placa", SqlDbType.VarChar).Value = TextBox13.Text
            coUsuario.Parameters.Add("@marca", SqlDbType.VarChar).Value = ComboBox3.Text
            coUsuario.Parameters.Add("@ano", SqlDbType.VarChar).Value = ComboBox1.Text
            coUsuario.Parameters.Add("@tipo", SqlDbType.VarChar).Value = TextBox22.Text
            coUsuario.Parameters.Add("@color", SqlDbType.VarChar).Value = TextBox21.Text
            coUsuario.Parameters.Add("@serial_carroceria", SqlDbType.VarChar).Value = TextBox20.Text
            coUsuario.Parameters.Add("@serial_motor", SqlDbType.VarChar).Value = TextBox19.Text
            coUsuario.Parameters.Add("@puesto", SqlDbType.VarChar).Value = ComboBox6.Text
            coUsuario.Parameters.Add("@estatus", SqlDbType.VarChar).Value = ComboBox2.Text
    
            cn.Open()
            coUsuario.ExecuteNonQuery()
            cn.Close()

    ...Por otro lado, me parece que estás utilizando Using SqlConnection verdad?, entonces ya no sería necesario el cn.Close() ya que el using lo hace por su cuenta. 

    Saludos


    Si ayudé a resolver tu consulta, no olvides marcar como respuesta y/o votar como útil.

    lunes, 22 de mayo de 2017 2:41
  • ...hace el registro pero después que muestra el mensaje de que se ha registrado correctamente se cuelga por casi 1 minuto

    El método ExecuteNonQuery es síncrono, por tanto, si obtienes el mensaje de confirmación y posterior a cerrar el cuadro de diálogo se produce la demora entonces se deduce que los métodos limpiar() o FromatDataGridView2() son los que causan el delay. Si comentas las llamadas a dichos métodos ¿presentas la misma demora?, si la demora no se produce entonces has un seguimiento al código de los métodos línea a línea (con el depurador) para validar que instrucción o instrucciones son las que producen el tiempo de espera.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 22 de mayo de 2017 3:16
  • sigo con el mismo problema. si estoy utilizando Using SqlConnection. tambien elimine el cn.close(). pero sigue tardando despues que muestra el mensaje
    lunes, 22 de mayo de 2017 11:43
  • ya lo probe de esa manera, pensado que era el metodo limpiar o FromatDataGridView2. pero sigue lente despues que muestra el mensaje. tiene que ver algo el sql server?
    lunes, 22 de mayo de 2017 11:48
  • Si dices que el mensaje "Datos correctamente registrados" se muestra al momento pero se demora luego es en 

    limpiar()  y  en FromatDataGridView2() donde se está produciendo la demora.

    ¿Qué código tienes en esos procedientos?


    Saludos, Javier J

    martes, 23 de mayo de 2017 7:19