none
Mostras registro de Mysql en un label RRS feed

  • Pregunta

  • Hola hice una consulta en que muestra los datos en uno label , pero quiero que esos se vayan cambiando cierto tiempo por cada registro y se muestren en los labels , tengo el siguiente código, me podrían ayudar D:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using Interface.mysql;
    using MySql.Data.MySqlClient;

    namespace Interface
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            
            public void cargardatos()
            {
                fecha_1.Text = DateTime.Now.ToLongDateString();
                conexion.obtenerConexion();
                
             
                MySqlCommand coman = new MySqlCommand(String.Format("SELECT orden_produccion,Linea, numero_parte, piezas_programadas,piezas_rechazadas,piezas_reales,piezas_reales - piezas_rechazadas AS piezas_liberadas FROM informe WHERE fecha ='" + fecha_1.Text +"';"), conexion.obtenerConexion());
                MySqlDataReader readers = coman.ExecuteReader();

                 if (readers.Read())
                 {

                     l_np.Text = Convert.ToString(readers["numero_parte"]);
                    l_cp.Text = Convert.ToString(readers["piezas_programadas"]);
                    l_cre.Text = Convert.ToString(readers["piezas_rechazadas"]);
                    l_rz.Text = Convert.ToString(readers["piezas_reales"]);
                    l_cr.Text = Convert.ToString(readers["piezas_liberadas"]);
                    linea.Text = Convert.ToString(readers["Linea"]);
                    l_op.Text = Convert.ToString(readers["orden_produccion"]);


                }

                readers.Close();

                        
            }

            
            private void Form1_Load(object sender, EventArgs e)
            {

                timer1.Start();

               
            }

            

            private void Timer1_Tick(object sender, EventArgs e)
            {
                cargardatos();
            }


            
               
        }

    lunes, 9 de septiembre de 2019 17:51

Todas las respuestas

  • hola

    Pero los registros de la tabla tienen una fecha que coincide con las fechas que se dan en cada momento, veo que usas DateTime.Now, pero generas registros al mismo instante que los consultas ? eso esta raro

    Podrias cargar todos los registros en memoria o quizas una lista de los id o codigos he ir iterandolos, en el where usarias este id para tomar cada uno

    	private List<int> Lista = new List<int>();
    
    	public void cargar_todo_Id()
            {
                fecha_1.Text = DateTime.Now.ToLongDateString();
                var conn = conexion.obtenerConexion();
                
    	    string query = @"SELECT id FROM informe";
                MySqlCommand coman = new MySqlCommand(query, conn);
                MySqlDataReader readers = coman.ExecuteReader();
    
    	    while (readers.Read())
    	    {
    		Lista.Add(Convert.ToInt32(readers["id"]));
    	    }
    
                readers.Close();
       
            }
    
    	public void cargardatos()
            {
                fecha_1.Text = DateTime.Now.ToLongDateString();
                var conn = conexion.obtenerConexion();
                
    	    string query = @"SELECT orden_produccion,Linea, numero_parte, 
    				piezas_programadas,piezas_rechazadas,piezas_reales,
    				piezas_reales - piezas_rechazadas AS piezas_liberadas 
    			FROM informe WHERE id = ?id";
                MySqlCommand coman = new MySqlCommand(query, conn);
    	    coman.Parameters.AddWithValue("?id", id);
    			
                MySqlDataReader readers = coman.ExecuteReader();
    
                 if (readers.Read())
                 {
                    l_np.Text = Convert.ToString(readers["numero_parte"]);
                    l_cp.Text = Convert.ToString(readers["piezas_programadas"]);
                    l_cre.Text = Convert.ToString(readers["piezas_rechazadas"]);
                    l_rz.Text = Convert.ToString(readers["piezas_reales"]);
                    l_cr.Text = Convert.ToString(readers["piezas_liberadas"]);
                    linea.Text = Convert.ToString(readers["Linea"]);
                    l_op.Text = Convert.ToString(readers["orden_produccion"]);
                }
    
                readers.Close();     
            }
    
            
            private void Form1_Load(object sender, EventArgs e)
            {
    	    cargar_todo_Id();
    			
                timer1.Start();
            }
    
            
    	int index = 0;
    
            private void Timer1_Tick(object sender, EventArgs e)
            {
                cargardatos(index);
    	    index++;
            }

    la idea es que definas que columna es la key de la tabla

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 9 de septiembre de 2019 18:24