none
Ayuda con C# Mensajes RRS feed

  • Pregunta

  • Saludos a todos necesito una ayuda, soy nuevo en este mundo de la programación solo llevo 3 meses y estoy haciendo una aplicacion en Visual Studio vinculado con SQLServer en el cual me haria falta visualizar varias tareas en un Textbox, tengo una tabla con los datos de usuarios y otra con las tareas vinculada al usuario que se le envia porsupuesto.Yo logro mostrar una nota en el Textbox haciendole una consulta a la tabla, ahora quisiera mostrar varias notas en un mismo Textbox.

    Podrian ayudarme porfavor?, ademas de darme algunas referencias donde pueda documentarme mas?.

    esto fue lo que hice en si

    public string _usernotas(string nombre)
            {
                string a = "";
                con.Open();
                try
                {
                    cmd = new SqlCommand("Select * from Note where usuario ='" + nombre + "'", con);
                    rd = cmd.ExecuteReader();
                    if (rd.Read())
                    {
                        a = Seguridad.Descriptar(rd["nota"].ToString());
                    }
                }
                catch (Exception err)
                {

                    MessageBox.Show(err.Message);
                }
                           
                rd.Close();
                con.Close();
                return a;

    y en el load de la ventana puse esto:

    private void VerTarea_Load(object sender, EventArgs e)
            {
                ConfigConx conf = new ConfigConx();
                tb1.Text = conf._usernotas(lb1.Text);
            }

    jueves, 27 de septiembre de 2018 14:50

Respuestas

  • Hola Sanz,

    No logro comprender exactamente lo que requieres, pero muy probablemente algo que te ayudaría es crear otro método para consultar las demás notas, o si es posible que los consultes todas en el mismo método, hacerlo en el mismo método. Lo que tendrías que hacer es concatenar las notas.

    Por ejemplo, si haces otro método para la nota, y regresas digamos un return b; en tu método donde le pasas los métodos al textbox. tendrías que concatenar de la siguiente manera:

    tb1.Text = conf._usernotas(lb1.Text) + "\n" + conf._usernotas(lbl1.Text);

    Con esto concatenas las dos notas, o todas las notas que quieras, agregando el símbolo + para concatenar, y la "\n" para dejar un salto de línea, pero para esto en las propiedades del tu textBox debes dejar en true la propiedad de líneas múltiples.

    Si lo que requieres es que en la misma consulta traigas más de una nota, esto depende, pareciera que tu método va a consultar una nota por usuario, aquí necesitaría más detalle sobre como requieres obtener las notas de la base de datos.

    Te recomiendo que a tus textBox les pongas nombre, iniciando por el prefijo txt, que sirve para indicar que es un TextBox, normalmente tomar 3 letras como prefijo para indicar que tipo de objeto es, enseguida un nombre para identificar para que sirve ese textBox, en este caso como es para notas, debería quedarte algo así: txtNotas.Text

    Adicional, te recomiendo esta página de Microsoft:

    https://docs.microsoft.com/es-es/dotnet/csharp/getting-started/




    jueves, 27 de septiembre de 2018 15:10
  • Hola Sanz, puedes usar un stringbuilder para acumular la data recibida desde sql

    modificando el metodo metodo...

    public string _usernotas(string nombre)
            {
                StringBuilder a = new StringBuilder();

                    -- - - -  

                 if (rd.Read())
                    {
                        a.Append = Seguridad.Descriptar(rd["nota"].ToString());
                    }

                    -- - - -  

           return a.ToString();

    }

    jueves, 27 de septiembre de 2018 15:48
  • muchas gracias por la ayuda amigo, la idea mia es que tengo una nota de la fecha de hoy y todo lo que escribo ahí es un update a esa misma nota, agregandole mas cosas, es una especie de calendario donde envio tareas diarias, entonces en el caso de que quiera ver una tarea que no se cumplió de el dia anterior por ejemplo, haria una consulta a la tabla.

    ejemplo:

    Select _nota from Notes where fecha NOTLIKE 'Fecha del dia actual' and _cumplt = 'false'

    me devuelve esto

    Puedo cogertoda esa seleccion completa y llevarla a mi textbox multilinea?

    utilizo el DataReader para eso o existe otro metodo que tome todos los datos que pide la seleccion que estoy haciendo?


    jueves, 27 de septiembre de 2018 17:26

Todas las respuestas

  • Hola Sanz,

    No logro comprender exactamente lo que requieres, pero muy probablemente algo que te ayudaría es crear otro método para consultar las demás notas, o si es posible que los consultes todas en el mismo método, hacerlo en el mismo método. Lo que tendrías que hacer es concatenar las notas.

    Por ejemplo, si haces otro método para la nota, y regresas digamos un return b; en tu método donde le pasas los métodos al textbox. tendrías que concatenar de la siguiente manera:

    tb1.Text = conf._usernotas(lb1.Text) + "\n" + conf._usernotas(lbl1.Text);

    Con esto concatenas las dos notas, o todas las notas que quieras, agregando el símbolo + para concatenar, y la "\n" para dejar un salto de línea, pero para esto en las propiedades del tu textBox debes dejar en true la propiedad de líneas múltiples.

    Si lo que requieres es que en la misma consulta traigas más de una nota, esto depende, pareciera que tu método va a consultar una nota por usuario, aquí necesitaría más detalle sobre como requieres obtener las notas de la base de datos.

    Te recomiendo que a tus textBox les pongas nombre, iniciando por el prefijo txt, que sirve para indicar que es un TextBox, normalmente tomar 3 letras como prefijo para indicar que tipo de objeto es, enseguida un nombre para identificar para que sirve ese textBox, en este caso como es para notas, debería quedarte algo así: txtNotas.Text

    Adicional, te recomiendo esta página de Microsoft:

    https://docs.microsoft.com/es-es/dotnet/csharp/getting-started/




    jueves, 27 de septiembre de 2018 15:10
  • Hola Sanz, puedes usar un stringbuilder para acumular la data recibida desde sql

    modificando el metodo metodo...

    public string _usernotas(string nombre)
            {
                StringBuilder a = new StringBuilder();

                    -- - - -  

                 if (rd.Read())
                    {
                        a.Append = Seguridad.Descriptar(rd["nota"].ToString());
                    }

                    -- - - -  

           return a.ToString();

    }

    jueves, 27 de septiembre de 2018 15:48
  • Muchas gracias me sirvio mucho esa ayuda
    jueves, 27 de septiembre de 2018 16:44
  • muchas gracias por la ayuda amigo, la idea mia es que tengo una nota de la fecha de hoy y todo lo que escribo ahí es un update a esa misma nota, agregandole mas cosas, es una especie de calendario donde envio tareas diarias, entonces en el caso de que quiera ver una tarea que no se cumplió de el dia anterior por ejemplo, haria una consulta a la tabla.

    ejemplo:

    Select _nota from Notes where fecha NOTLIKE 'Fecha del dia actual' and _cumplt = 'false'

    me devuelve esto

    Puedo cogertoda esa seleccion completa y llevarla a mi textbox multilinea?

    utilizo el DataReader para eso o existe otro metodo que tome todos los datos que pide la seleccion que estoy haciendo?


    jueves, 27 de septiembre de 2018 17:26