none
Como rellenar TextBox con un dataset Dataset

    Question

  • Hola.
    Estoy intando rellenar unos campos de una tabla guardados en un dataset a un textbox, como esto:
      TextBox1.Text = dtset.Tables(0).Rows(i).Item(0)
      TextBox2.Text = dtset.Tables(0).Rows(i).Item(1)
      TextBox3.Text = dtset.Tables(0).Rows(i).Item(2)
      TextBox4.Text = dtset.Tables(0).Rows(i).Item(3)

    sacado de este enlace: http://forums.microsoft.com/msdn-es/ShowPost.aspx?PostID=780381&SiteId=11

    pero para Visual C# 2003 en SqlServer Express.

    Gracias por adelantado a todo aquel que me heche un manod.
    Monday, November 27, 2006 4:05 PM

Answers

  • Hola ullu,

    No se si puede servirte esto, en caso contrario lo vamos analizando.
    Saludos,
    Pep Lluis,

    using System;

    using System.Data;

    using System.Data.SqlClient;

    using System.Windows.Forms;

     

    namespace ComboYBdAccess

    {

        public partial class Form1 : Form

        {

            TextBox MiTB1 = new TextBox();

            TextBox MiTB2 = new TextBox();

     

            FlowLayoutPanel marco = new FlowLayoutPanel();

     

            public Form1()

            {

                marco.Dock = DockStyle.Top;

                marco.AutoSize = true;

                marco.Controls.AddRange(new Control[] { MiTB1, MiTB2 });

                this.Controls.AddRange(new Control[] { marco });

     

                SqlConnection MiConexion = new SqlConnection();

                MiConexion.ConnectionString = @"Data Source=TuEquipo\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";

                SqlDataAdapter MiAdaptador = new SqlDataAdapter("Select * from Shippers", MiConexion);

                MiConexion.Open();

                DataSet MiDataSet = new DataSet();

                MiAdaptador.Fill(MiDataSet);

                MiTB1.Text = (string) MiDataSet.Tables[0].Rows[0][1];

                MiTB2.Text = (string) MiDataSet.Tables[0].Rows[0][2];

            }

     

        }

    }

     

    Monday, November 27, 2006 4:43 PM

All replies

  • Hola ullu,

    No se si puede servirte esto, en caso contrario lo vamos analizando.
    Saludos,
    Pep Lluis,

    using System;

    using System.Data;

    using System.Data.SqlClient;

    using System.Windows.Forms;

     

    namespace ComboYBdAccess

    {

        public partial class Form1 : Form

        {

            TextBox MiTB1 = new TextBox();

            TextBox MiTB2 = new TextBox();

     

            FlowLayoutPanel marco = new FlowLayoutPanel();

     

            public Form1()

            {

                marco.Dock = DockStyle.Top;

                marco.AutoSize = true;

                marco.Controls.AddRange(new Control[] { MiTB1, MiTB2 });

                this.Controls.AddRange(new Control[] { marco });

     

                SqlConnection MiConexion = new SqlConnection();

                MiConexion.ConnectionString = @"Data Source=TuEquipo\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";

                SqlDataAdapter MiAdaptador = new SqlDataAdapter("Select * from Shippers", MiConexion);

                MiConexion.Open();

                DataSet MiDataSet = new DataSet();

                MiAdaptador.Fill(MiDataSet);

                MiTB1.Text = (string) MiDataSet.Tables[0].Rows[0][1];

                MiTB2.Text = (string) MiDataSet.Tables[0].Rows[0][2];

            }

     

        }

    }

     

    Monday, November 27, 2006 4:43 PM
  • Muchisimas gracias Pep Lluis.

    Está linea era la que estaba buscando:
    MiTB1.Text = (string) MiDataSet.Tables[0].Rows[0][1];
    , con un solo pero, esa transformación a string no me la ha permitido en tiempo de ejecución, por lo que use:
    MiTB1.Text = (string) MiDataSet.Tables[0].Rows[0][1].ToString();

    Por otra parte, es la primera vez que entro en estos foros, y he puesto que su respuesta es útil, no se muy bien que es, pero espero que le sirva para algo.

    Otra consulta, estoy teniendo muchos problemas para resolver dudas tan sencillas ( a priori ) como ésta, no acabo de encontrar con manual sencillo ( es la primera vez que estoy progrmando en Visual C#, antes en Visual Basic, me parecia todo más sencillo, la poco experiencia que tengo claro ). Conoce algún manual online que me pueda valer? ( La página de Guille la conozco, por si me recomienda ésta, y no me parece fácil de encontrar como hacer ciertas cosillas. )

    De nuevo, muchas gracias.

    Saludos.
    Monday, November 27, 2006 4:59 PM
  • Hola Ullu,

    No tienes porque darme las gracias, el hecho de marcar que la respuesta es util, sirve primordialmente para que tu pregunta sea referencia a otros desarrolladores que quizas estan buscabdo la misma respuesta. Tambien parece ser existe una especie de "sana competicion sin premio", donde los que respondemos vamos sumando 'respuestas'. Aunque para muchos de nosotros el objetivo no es el contador (que para mas risa no funciona!), si no ayudar ... la filosofia es simple... aprendo de la ayuda ayudando. Nada que es un placer compartir espacio!!.

    Referente al C#, sinceramente yo soy un eterno de VB, y ciertamente no dejes inquietarte por la 'C', pues salvadas ciertas formas el manejo de propiedades y objectos es igual. 'Salvo el punto y coma' segun mi amigo Guille.

    Ya sabes que existen muchas publicaciones y literatura entorno a programacion y lenguages, cualquiera es buena y valida, pero particularmente me gusta el documento 'C# Language Specification.doc' incluido la carpeta de Visual Studio, al menos a mi me ha servido de mucho.

    Hasta pronto.
    Pep Lluis,

    Monday, November 27, 2006 6:08 PM
  • el codigo a mostar ha sido muy util  pero tengo una ultima consulta con respento a este mismi tema:

    Yo tengo un dtset que deberia de contener dos campo, me explico
    el dtset contiene el query= "select Expr1, Expr2 from tabla"

    Bueno cuando trato de mostrra los resultado se produce un error

    yo quiero mostrar los resultados del dtset en dos textbox como esta en el ejemplo pero solo muestra resultados para linea k esta en color rojo. pra el otro no muestra los resultados sabiendo k en dtset trae dos columnas con datos, si ejecuto las dos lineas la plicacion se cae...

    dtset =  Funciones(query,connexion);
                    this.TextBox1.Text = (string)dtset .Tables[0].Rows[0][1];
                    this.TextBox2.Text = (string)dtset .Tables[0].Rows[0][1];

    Thursday, July 05, 2007 4:23 PM
  • Estas asignando el mismo valor a dos 'textbox'?... que error te da?

    Has probado this.textbox2.text = this.texbox1.text?

    Pep Lluis,

     

    Monday, July 09, 2007 7:48 AM

  • Creo que el tema está ya resuelto, pero me gustaría añadir otra posible aclaración a posibles problemas. Esto es cuando no tienes un valor de tipo string recuperado de la BD (en este caso decimal), y por lo que a lo mejor no te funcionaba correctamente la primera sentencia que citas. Esta es mi solución con una comprobación previa de que contenga datos el elemento recuperado y no sea DBNull (esto es solo por anticipar posibles errores y curarnos en salud):

    Code Snippet            if (promo[KBDPromocion.CPHIPOTECACANTD] != DBNull.Value)                txtCPHipoteca.Text = ((decimal)promo[KBDPromocion.CPHIPOTECACANTD]).ToString();

    Disculpa pero me he liado con las etiquetas.
    Wednesday, July 11, 2007 8:05 AM
  • Hola Pep Liuis, me podrias ayudar por favor con este codigo de los dataset a textbox pero en vb .net ... Saludos y gracias

     

    Tuesday, August 28, 2007 2:21 PM
  • Hola Manix!

    Aqui tienes, sin embargo recuerda que es aconsejable crear un hilo nuevo en el foro correspondiente... en este caso en el de Visual Basic, de esa forma podemos ayudar a otros compañeros que tengan un duda similar.

    Saludos,

    Pep Lluis,

     

    Imports System

    Imports System.Data

    Imports System.Data.SqlClient

     

     

    Public Class Form1

     

        Private MiTB1 = New TextBox()

        Private MiTB2 = New TextBox()

        Private marco = New FlowLayoutPanel()

     

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

            marco.Dock = DockStyle.Top

            marco.AutoSize = True

            marco.Controls.AddRange(New Control() {MiTB1, MiTB2})

            Me.Controls.AddRange(New Control() {marco})

            Dim MiConexion = New SqlConnection

            MiConexion.ConnectionString = "Data Source=TuEquipo\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"

            Dim MiAdaptador As New SqlDataAdapter

            MiAdaptador.SelectCommand = New SqlCommand("Select * from Shippers", MiConexion)

            MiConexion.Open()

            Dim MiDataSet = New DataSet()

            MiAdaptador.Fill(MiDataSet)

            MiTB1.Text = MiDataSet.tables(0).rows(0)(0)

            MiTB2.Text = MiDataSet.tables(0).rows(0)(1)

        End Sub

    End Class

     

     

    Monday, September 03, 2007 9:02 AM
  • este tema es viejo pero util, dure casi un dia buscando un ejemplo practico y lo unico que me faltaba era el segundo en el .Rows campo  MiTB1.Text = (string) MiDataSet.Tables[0].Rows[0][1];

    saludos y gracias

    Hola ullu,

    No se si puede servirte esto, en caso contrario lo vamos analizando.
    Saludos,
    Pep Lluis,

    using System;

    using System.Data;

    using System.Data.SqlClient;

    using System.Windows.Forms;

     

    namespace ComboYBdAccess

    {

        publicpartialclassForm1: Form

        {

            TextBoxMiTB1 = newTextBox();

            TextBoxMiTB2 = newTextBox();

     

            FlowLayoutPanelmarco = newFlowLayoutPanel();

     

            publicForm1()

            {

                marco.Dock = DockStyle.Top;

                marco.AutoSize = true;

                marco.Controls.AddRange(newControl[] { MiTB1, MiTB2 });

                this.Controls.AddRange(newControl[] { marco });

     

                SqlConnectionMiConexion = newSqlConnection();

                MiConexion.ConnectionString = @"Data Source=TuEquipo\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";

                SqlDataAdapterMiAdaptador = newSqlDataAdapter("Select * from Shippers", MiConexion);

                MiConexion.Open();

                DataSetMiDataSet = newDataSet();

                MiAdaptador.Fill(MiDataSet);

                MiTB1.Text = (string) MiDataSet.Tables[0].Rows[0][1];

                MiTB2.Text = (string) MiDataSet.Tables[0].Rows[0][2];

            }

     

        }

    }

     


    Wednesday, February 08, 2012 3:34 AM
  • hola

    deberias usar algo como ser

    using (SqlConnection cnn = new SqlConnection("connection string")) {
    
        string query = "SEELCT * FROM Tabla WHERE id = @id"
    
        SqlCommand cmd = new SqlCommand(query, cnn);
        
        cmd.Parameters.AddWithValue("@id", Convert.ToInt32(txtId.Text));
    
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(dt);
    
        if(dt.Rows.Count > 0){
    
             DataRow row = dt.Rows[0];
    
             TextBox1.Text = Convert.ToString(row[1]);
             TextBox2.Text = Convert.ToString(row[2]);
             TextBox3.Text = Convert.ToString(row[3]);
             TextBox4.Text = Convert.ToString(row[4]);
    
       }
    
    }

    asi de facil

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Wednesday, February 08, 2012 11:34 AM
  • Hola.
    Estoy intando rellenar unos campos de una tabla guardados en un dataset a un textbox, como esto:
      TextBox1.Text = dtset.Tables(0).Rows(i).Item(0)
      TextBox2.Text = dtset.Tables(0).Rows(i).Item(1)
      TextBox3.Text = dtset.Tables(0).Rows(i).Item(2)
      TextBox4.Text = dtset.Tables(0).Rows(i).Item(3)

    sacado de este enlace: http://forums.microsoft.com/msdn-es/ShowPost.aspx?PostID=780381&SiteId=11

    pero para Visual C# 2003 en SqlServer Express.

    Gracias por adelantado a todo aquel que me heche un manod.
    ahora q estoy en vb.net 2008 ese codigo funciona perfectamente ... por si alguien lo busca
    Thursday, March 01, 2012 10:40 PM