• Viernes 29 de Marzo de 2024, 12:19

Autor Tema:  Consulta Sql Desde C#  (Leído 33475 veces)

JaviMarciano

  • Miembro activo
  • **
  • Mensajes: 97
    • Ver Perfil
Consulta Sql Desde C#
« en: Miércoles 1 de Agosto de 2007, 21:59 »
0
Hola! necesito saber como asignar el registro obtenido en una consulta a una tabla de una base de datos de SQL Server 2000 desde C#
Se como hacer la consulta y como cargarla en un Datagrid, pero necesito ahora asignar los datos a un grupo de TextBoxs cómo puedo recuperar estos datos?
O sea teniendo una Tabla que almacene Apellido, Nombre y Teléfono por ej. necesito hacer la consulta:

 SqlConnection con1 = new SqlConnection("Data Source=(local);initial      Catalog=BaseDeDatos; User Id=;Password=;Integrated Security=SSPI;");
             con1.Open();
             string Select = "SELECT * FROM TablaZ WHERE nombre LIKE 'Javier'";
             SqlCommand cmd = new SqlCommand(Select, con1);
             cmd.ExecuteNonQuery();
             con1.Close();

Pensé en hacer varias consultas donde me devuelvan solo un campo

 string Select = "SELECT apellido FROM TablaZ WHERE nombre LIKE 'Javier'";
 string Select = "SELECT nombre FROM TablaZ WHERE nombre LIKE 'Javier'";
 string Select = "SELECT tel FROM TablaZ WHERE nombre LIKE 'Javier'";

pero como visualizar esos datos asignandolos a la propiedad Text de los TextBox?

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Consulta Sql Desde C#
« Respuesta #1 en: Jueves 2 de Agosto de 2007, 00:59 »
0
podrias solamente hacer una consulta, donde pedis los 3 campos, el resultado de esa consulta lo asignas a una tabla y luego lo colocas en los textbox, accediendo a las respectivas columnas del datatable.



BYTE
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Broengar

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Consulta Sql Desde C#
« Respuesta #2 en: Jueves 2 de Agosto de 2007, 14:25 »
0
Prueba a poner la consulta en un DataRow

Código: Text
  1.   SqlConnection con1 = new SqlConnection("Data Source=(local);initial      Catalog=BaseDeDatos; User Id=;Password=;Integrated Security=SSPI;");
  2.   con1.Open();
  3.   DataRow MyRow =GetTableFromDataBase("SELECT apellido, nombre, tel FROM TablaZ WHERE nombre LIKE 'Javier'").Rows[0];
  4.   TextBox1.Text = MyRow[0].ToString();
  5.   TextBox2.Text = MyRow[1].ToString();
  6.   TextBox3.Text = MyRow[2].ToString();
  7.   con1.Close();
  8.  
  9.  

No lo he provado, per algo similar me funciona a mi.

JaviMarciano

  • Miembro activo
  • **
  • Mensajes: 97
    • Ver Perfil
Re: Consulta Sql Desde C#
« Respuesta #3 en: Martes 7 de Agosto de 2007, 03:54 »
0
Cita de: "lencho"
podrias solamente hacer una consulta, donde pedis los 3 campos, el resultado de esa consulta lo asignas a una tabla y luego lo colocas en los textbox, accediendo a las respectivas columnas del datatable.



BYTE
Gracias Lencho, tenes razón lo hice de la sig forma:

 private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection("Data Source=(local);initial Catalog=BaseDeDatos; User Id=;Password=;Integrated Security=SSPI;");
            con.Open();
            ds = new DataSet();
            dt = ds.Tables.Add();
            SqlCommand com = new SqlCommand("Select * from TablaZ",con);
            try
            {
                com.ExecuteNonQuery();
                SqlDataAdapter da = new SqlDataAdapter(com);
                da.Fill(dt) ;    
                textBox1.Text= Convert.ToString(dt.Rows[0][1]);
                textBox2.Text = Convert.ToString(dt.Rows[0][2]);
                textBox3.Text = Convert.ToString(dt.Rows[0][3]);
               
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
            }

dejo el código por si le sirve a alguien!!

JaviMarciano

  • Miembro activo
  • **
  • Mensajes: 97
    • Ver Perfil
Re: Consulta Sql Desde C#
« Respuesta #4 en: Martes 7 de Agosto de 2007, 04:05 »
0
Cita de: "Broengar"
Prueba a poner la consulta en un DataRow

Código: Text
  1.   SqlConnection con1 = new SqlConnection("Data Source=(local);initial      Catalog=BaseDeDatos; User Id=;Password=;Integrated Security=SSPI;");
  2.   con1.Open();
  3.   DataRow MyRow =GetTableFromDataBase("SELECT apellido, nombre, tel FROM TablaZ WHERE nombre LIKE 'Javier'").Rows[0];
  4.   TextBox1.Text = MyRow[0].ToString();
  5.   TextBox2.Text = MyRow[1].ToString();
  6.   TextBox3.Text = MyRow[2].ToString();
  7.   con1.Close();
  8.  
  9.  

No lo he provado, per algo similar me funciona a mi.
Gracias por responder Broengar, pero que es: GetTableFromDataBase porque no pude hacerlo de esa forma.

tal vez me falta alguna directiva using!

Broengar

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Consulta Sql Desde C#
« Respuesta #5 en: Miércoles 8 de Agosto de 2007, 14:34 »
0
Perdona GetTableFromDataBase() es una función que tengo creada para obtener una tabla de la base de datos (como ya indica el nombre).
No me di cuenta de que estaba esta función.

Basicamente lo que hace es crear el enlace a la base de datos, rellenar el dataset y cojet la tabla
  • de este.


Basicamente lo mismo que ya haces, pero complicandome la vida. :P

Nos escribimos...