none
Llenar un textbox multiline con query de sql server 2008 en C# RRS feed

  • Pregunta

  • Buenos días,

    Tengo un problema que no he encontrado la forma de llenar el textbox. Les explicare,
    Tengo 3 botones y un TextBox (multiline) lo que necesito es que cuando le de click en btnMostrarDatos me llene mi TextBox (multiline) con la información que le pido en la consulta, tengo este código pero sigo sin lograr llenar mi TextBox(multiline), ha porque también quiero que sea utilizando el SqlDataAdapter y DataTable:

    private void mbtnComerPo_Click(object sender, EventArgs e)
    {
       
    using (SqlConnection cnn = new SqlConnection("miconexion"))
                {
                    cnn.Open();

                    string query = @"SELECT RateDate, Rate FROM ORTT";
                    SqlCommand cmd = new SqlCommand(query, cnn);
                    SqlDataAdapter sda = new SqlDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    sda.Fill(dt);

                    DataRow dr = dt.Rows[0];
                    mtxtTC.Text = dr["RateDate"].ToString();
                    mtxtTC.Text = dr["Rate"].ToString();

                    cnn.Close();
                }
    }

    Espero puedan ayudarme, hasta el momento este código me lanza en mi textbox o el ratedate o el rate y quiero que me lance ambas con su espacio entre cada una de estas osea
    Fecha                      Tipo de Cambio
    23/03/2018              20.2152

    Esto que sea referente a mi consulta o lo que tenga en mi base de datos. Por favor
    Gracias



    • Editado Cashmere VM viernes, 23 de marzo de 2018 19:30
    viernes, 23 de marzo de 2018 18:01

Respuestas

  • Hola!

    Si es algo simple, puedes poner:

    mtxtTC.Text = dr["RateDate"].ToString() + " " + dr["Rate"].ToString();

    Si es algo mas complejo, puedes validar el valor de dr["RateDate"] y  dr["Rate"] respectivamente.

    Saludos.

    • Marcado como respuesta Cashmere VM viernes, 23 de marzo de 2018 20:36
    viernes, 23 de marzo de 2018 20:27
  • Esto puede andar:

        private void btnCargar_Click(object sender, EventArgs e)
        {
          DataTable dt = ObtenerDatos(); //En este procedimiento obtienes los datos 
          StringBuilder sb = new StringBuilder();
    
          foreach (DataRow r in dt.Rows)
            sb.AppendLine(String.Format("{0}\t{1}", r["RateDate"].ToString(), r["Rate"].ToString()));
    
          mtxtTC.Text = sb.ToString();
        }
    El espacio que separa a las columnas lo da "\t" que es un tabulador. respecto de la fecha, para obtener un formato más adecuado podrías usas: ((DateTime)r["RateDate"]).ToShortDateString() en lugar de r["RateDate"]).ToString() 
    • Editado AntiWork sábado, 24 de marzo de 2018 22:09
    • Marcado como respuesta Cashmere VM lunes, 26 de marzo de 2018 16:03
    sábado, 24 de marzo de 2018 21:58

Todas las respuestas

  • Hola!

    Si es algo simple, puedes poner:

    mtxtTC.Text = dr["RateDate"].ToString() + " " + dr["Rate"].ToString();

    Si es algo mas complejo, puedes validar el valor de dr["RateDate"] y  dr["Rate"] respectivamente.

    Saludos.

    • Marcado como respuesta Cashmere VM viernes, 23 de marzo de 2018 20:36
    viernes, 23 de marzo de 2018 20:27
  • Gracias por tu ayuda, me funciono.

    Mil gracias.

    Otra pregunta pero es de sql 

    Quiero visualizar todos los tipos de cambio de la semana y del día actual como podría hacerlo y que se visualice en mi textbox en columnas como el codigo que me proporcionaste. espero me puedas ayudar gracias: 
    Tengo este codigo en sql pero no logro visualizar la semana y mi dia actual: 
    SELECT RateDate, Rate FROM ORTT WHERE DATEPART(week, RateDate=@RateDate) and (Rate=@Rate)

    Gracias
    viernes, 23 de marzo de 2018 20:35
  • Esto puede andar:

        private void btnCargar_Click(object sender, EventArgs e)
        {
          DataTable dt = ObtenerDatos(); //En este procedimiento obtienes los datos 
          StringBuilder sb = new StringBuilder();
    
          foreach (DataRow r in dt.Rows)
            sb.AppendLine(String.Format("{0}\t{1}", r["RateDate"].ToString(), r["Rate"].ToString()));
    
          mtxtTC.Text = sb.ToString();
        }
    El espacio que separa a las columnas lo da "\t" que es un tabulador. respecto de la fecha, para obtener un formato más adecuado podrías usas: ((DateTime)r["RateDate"]).ToShortDateString() en lugar de r["RateDate"]).ToString() 
    • Editado AntiWork sábado, 24 de marzo de 2018 22:09
    • Marcado como respuesta Cashmere VM lunes, 26 de marzo de 2018 16:03
    sábado, 24 de marzo de 2018 21:58
  • Gracias por la respuesta pero mi pregunta es

    Como hago que en mi textbox(multiline) aparezca el tipo de cambio actual y de los 7 días anteriores. Me gustaría saber como hago eso para que aparezcan en lista como:

    día actual            tipo de cambio

    días anteriores     tipo de cambio

    Necesito eso tal vez en la consulta de sql o un for en mi proceso la verdad desconozco como hacerlo, espero me puedan ayudar en serio

    using (SqlConnection cnn = new SqlConnection("mi conexion"))
                {
                    cnn.Open();
                    //string query = @"SELECT RateDate, Rate FROM ORTT";
                    string query = @"SELECT RateDate, Rate FROM ORTT WHERE RateDate<=@RateDate(DATEADD(D,7, @RateDate)AS DATE)";    
                    SqlCommand cmd = new SqlCommand(query, cnn);
                    SqlDataAdapter sda = new SqlDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    sda.Fill(dt);
                    DataRow dr = dt.Rows[0];
                    mtxtTC.Text = dr["RateDate"].ToString() + "\t " + dr["Rate"].ToString();
                    cnn.Close();
                }

    Gracias en verdad y espero me haya dado a entender

    lunes, 26 de marzo de 2018 17:32
  • Si entendí bien esto es lo que buscas:

        private void btnCargar_Click(object sender, EventArgs e)
        {
          DateTime Hoy = DateTime.Today;
          DateTime Hasta = Hoy.AddDays(-7);
          DataTable dt = new DataTable();
          StringBuilder sb = new StringBuilder();
    
          using (SqlConnection cnn = new SqlConnection("mi conexion"))
          {
            cnn.Open();
            string query = @"SELECT RateDate, Rate FROM ORTT WHERE RateDate BETWEEN @hoy AND @hasta ORDER BY RateDate DESC"; 
            SqlCommand cmd = new SqlCommand(query, cnn);
            cmd.Parameters.AddWithValue("@hoy", Hoy);
            cmd.Parameters.AddWithValue("@hasta", Hasta);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            sda.Fill(dt);
          }
          if (dt.Rows.Count == 0) return;
    
          DataRow r;
          for (int i = 0; i < dt.Rows.Count; i++)
          {
            r = dt.Rows[i];
            sb.AppendLine(String.Format("{0}\t{1}", ((DateTime)r["RateDate"]).ToShortDateString(), r["Rate"].ToString()));
          }
    
          mtxtTC.Text = sb.ToString();
        }


    • Editado AntiWork miércoles, 28 de marzo de 2018 21:37
    miércoles, 28 de marzo de 2018 21:29