none
Ejecutar comando cada x tiempo RRS feed

  • Pregunta

  • Buenas Tardes

    como puedo ejecutar cada 5 min este codigo

     public void calculartotal()
            {
                using (MySqlConnection cnges = new MySqlConnection(CadenaConexionGestion))
                {
                    cnges.Open();
    
                    string queryy = "SELECT total FROM sumatoriafacturapend";
                    MySqlCommand comando = new MySqlCommand(queryy, cnges);
                    MySqlDataReader reader = comando.ExecuteReader();
    
                    if (reader.Read())
                    {
                        label1.Text = Convert.ToString(reader["total"]);
                    }
                    reader.Close();//Cerramos la conexion
                    cnges.Close(); //cerramos la conexion
                }
            }

    saludos


    ruben

    jueves, 9 de febrero de 2017 17:32

Respuestas

  • Ruben Lezcano,

    Puedes hacer uso de la clase Timer que implementa un temporizador que acciona un evento por cada tiempo definido en la propiedad Interval.

    private void Form1_Load(object sender, EventArgs e)
    {
    	timer1.Interval = 300000; //5 minutos
    }
    
    private void timer1_Tick(object sender, EventArgs e)
    {
    	calculartotal();
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 9 de febrero de 2017 17:42

Todas las respuestas

  • Checa esta Liga espero te sirva, https://elburgues.wordpress.com/2010/02/15/timers-en-c/

    IcebergDelphi

    jueves, 9 de febrero de 2017 17:39
  • Ruben Lezcano,

    Puedes hacer uso de la clase Timer que implementa un temporizador que acciona un evento por cada tiempo definido en la propiedad Interval.

    private void Form1_Load(object sender, EventArgs e)
    {
    	timer1.Interval = 300000; //5 minutos
    }
    
    private void timer1_Tick(object sender, EventArgs e)
    {
    	calculartotal();
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 9 de febrero de 2017 17:42
  • hola

    pero cual es el contecto del desarrollo?

    -es una aplicacion winform en donde con un form necesitas realizar esa accion, si es esta opcion usas un control Timer

    -o es una tarea que debe ejecutarse en scheduler sin una aplicaicon se este ejecutando, si es esta la situacion deberias crear un servicio de windows el cual use un timer

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 9 de febrero de 2017 18:51
  • Gracias Willams 

    era solo eso lo que necesitaba

    saludos


    ruben

    viernes, 10 de febrero de 2017 9:04
  • Willams 

    He puesto esto

     private void frm_contadorfacturacion_Load(object sender, EventArgs e)
            {
                timer1.Interval = 1000;  //300000; //5 minutos
    
    
                calculartotal();
            }
     private void timer1_Tick(object sender, EventArgs e)
            {
                MessageBox.Show("ha pasado 1 min");
                calculartotal();
            }


    no funciona

    saludos


    ruben

    viernes, 10 de febrero de 2017 13:02
  • Ruben Lezcano,

    Te recomiendo revisar las propiedades, métodos, etc. que expone la clase con la que trabajas.

    La clase Timer implementa el método Start() que permite iniciar el temporizador, configurar la propiedad Enabled a true tiene el mismo efecto (que por defecto viene establecido en false):

    private void Form1_Load(object sender, EventArgs e)
    {
    	timer1.Interval = 300000; //5 minutos
    	timer1.Start(); //Inicia el temporizador
    	
    	//...
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 10 de febrero de 2017 14:17