none
No me guarda dato en mi variable RRS feed

  • Pregunta

  • Buenas tardes para hacer una consulta, no me esta guardando en mi variable, cuando escribo en el textbox no me guarda el datos en la variable, me apece que la variable es null, osea que nisiqueira me guarda, en la variable NombreLider es donde deseo guardar el dato cuando escriben en el textbox
     public void GraficaLider(Variable vari)
            {
                
                SqlDataReader DR;
                SqlConnection conexion = new SqlConnection(Conex.Cone);
                SqlCommand command;
                vari.nombreLider = txtNombreLider.Text;
                NombreLider = vari.nombreLider;
                //vari.NombreLider1 = txtNombreLider.Text;
                //NombreLider = vari.NombreLider1;
                //NombreLider = "Jorge Eduardo";
                
                String consulta = "(SELECT O.NombreOrden,G.MonedaNacional, COUNT(O.IdOrden ) AS Proyecto FROM TablaOrdenTrabajo AS O inner JOIN TablaGeneral AS G ON O.IdOrden = G.IdOrden INNER JOIN TablaLider AS L ON L.IdLider = G.IdLider  WHERE L.Nombre = '" + NombreLider + "' group BY O.NombreOrden,G.MonedaNacional)";
                command = new SqlCommand(consulta, conexion);
              //  command.CommandType = CommandType.StoredProcedure;
                conexion.Open();
                    DR = command.ExecuteReader();
                    while (DR.Read())
                    {
                        vari.NombreProyectos1.Add(DR.GetString(0));
                        vari.CantidadProyectos1.Add(DR.GetDecimal(1));
    
                    }
    
            DR.Close();
                    conexion.Close();
    
            }

      public class Variable
            {
                ArrayList NombreProyectos = new ArrayList();
                ArrayList CantidadProyectos = new ArrayList();
                public String nombreLider; 
                public ArrayList NombreProyectos1
                {
                    get
                    {
                        return NombreProyectos;
                    }
    
                    set
                    {
                        NombreProyectos = value;
    
                    }
    
                }
    
                public ArrayList CantidadProyectos1
                {
                    get
                    {
                        return CantidadProyectos;
                    }
                    set
                    {
                        CantidadProyectos = value;
                    }
    
                }
    
                public string NombreLider1
                {
                    get
                    {
                        return nombreLider;
                    }
                    set
                    {
                        nombreLider = value;
                    }
    
                }
    
            }


    martes, 28 de enero de 2020 18:28

Todas las respuestas

  • hola

    Recomendaria que la clase la definas

    public class Variable
    {
    	public Variable(){
    		this.NombreProyectos1 = new ArrayList(); 
    		this.CantidadProyectos1 = new ArrayList(); 
    	}
    	
    	public ArrayList NombreProyectos1 {get;set;}
    	public ArrayList CantidadProyectos1{get;set;}
    	public string NombreLider1{set;set;}
    
    }

    asi no necesitas variables privadas

    Hacer esto

    vari.nombreLider =txtNombreLider.Text;

    esta correcto si es que quieres asignar la variable que pasas por parametro

    aunque en realidad se suele usar

    public Variable GraficaLider()
    {
    	Variable vari = new Variable();
    	vari.nombreLider = txtNombreLider.Text;
    
    	//resto codigo
    	
    	return vari;
    }

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 28 de enero de 2020 18:38
  • Que tal mi buen Leando, aplicando los consejos que me brindaste, sigue sin guardar los datos del texbox en la variable , sigo sin comprender que es lo que esta pasando
    martes, 28 de enero de 2020 18:50
  • hola

    >>sigue sin guardar los datos del texbox en la variable

    podrias poner un print screen de como evaluas que no guarda

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 28 de enero de 2020 18:54
  •             String consulta = "(SELECT O.NombreOrden,G.MonedaNacional, COUNT(O.IdOrden ) AS Proyecto FROM TablaOrdenTrabajo AS O inner JOIN TablaGeneral AS G ON O.IdOrden = G.IdOrden INNER JOIN TablaLider AS L ON L.IdLider = G.IdLider  WHERE L.Nombre = '" + txtNombreLider.Text + "' group BY O.NombreOrden,G.MonedaNacional)";
               
     
    Aqui trate de concatenar lo que escribo en el textbox pero ni a si
    martes, 28 de enero de 2020 19:16
  • si hago esto funciona 

    string NombreLider = "Nombreequis";

    martes, 28 de enero de 2020 19:23
  • hola

    Pero no sera que no esta tomando el valor desde el TextBox?

    este codigo donde lo ubicas? porque deberia estar dentro del form para que funcione, sino deberias pasar el valor por parametros, algo como ser

    public Variable GraficaLider(string nombrelider) {

    }

    entonces desde donde lo invocas usarias

    var result = GraficaLider(txtNombreLider.Text);

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 28 de enero de 2020 19:45
  •  public void Lider(FrmLiderProyecto.Variable VAR)
                    { 
                    FrmLiderProyecto frm = new FrmLiderProyecto();
                    var resultado = new ClaseVariables();
                    resultado.NombreLider = frm.txtNombreLider.Text;
                    VAR.NombreLider1 = resultado.NombreLider;
                    frm.GraficaLider(VAR);
                   // Vari.NombreLider(frm.Resultado);
    
                 
    
            }
    
    
     private void Garficalider()
            {
              //  var resultado = new ClaseVariables();
              //  resultado.NombreLider = txtNombreLider.Text;
              ////  lblPrueba.Text = resultado.NombreLider;
    
                ClaseVariables var = new ClaseVariables();
                
                N_Dashboad neg = new N_Dashboad();
                Variable obj = new Variable();
               
                neg.Lider(obj);
                
                chart2.Series[0].Points.DataBindXY(obj.NombreProyectos1, obj.CantidadProyectos1);
              
    
            }
    
    
    
    
    se me olvido mencionar estas clases
    miércoles, 29 de enero de 2020 14:21
  • hola

    hacer un new del form no funciona, esa es una nueva instancia no el form que estas ingresando los datos

    No deberias acceder NUNCA a un form desde una clase, eso no es bueno, debes pasar por parametro el dato simple, por eso en el ejemplo lo defino de esta forma

    estoFrmLiderProyectofrm = new FrmLiderProyecto();

    y esto

    resultado.NombreLider =frm.txtNombreLider.Text;

    lo tienes que quitar

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 29 de enero de 2020 15:57