none
como mostrar datos de una consulta en texbox RRS feed

  • Pregunta

  • hola   bueno tengo una consulta por medio de un tex box que me sirve de búsqueda y un  DataGridView1 pero la verdad quisiera que esos datos se mostraran en unos tex box que tengo.

    mis campos de mi base son id registro, nombre, teléfono y fecha  

    este es mi código

    Imports MySql.Data.MySqlClient

    Imports System.Data

    Public Classpractica

    Sharedcn AsNewMySqlConnection("data source=localhost;database=municipio;password=root;user=root")

     

    SharedFunctionconsultardato(ByValdato AsString) AsDataTable

    Dimtabla AsNewDataTable

        Dimda AsNewMySqlDataAdapter("select * from registro where NOMBRE like '%"+ dato.Trim + "%';", cn)

            da.SelectCommand.CommandType = CommandType.Text

            da.Fill(tabla)

    return tabla

    end funtion 

    end class

           

    Public Class Form1

          Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            tabla.DataSource = practica.consultardato("")


        End Sub

        Private Sub busqueda_TextChanged(sender As Object, e As EventArgs) Handles busqueda.TextChanged
            tabla.DataSource = practica.consultardato(busqueda.Text)
          
        End Sub
    End Class

    espero y me puedan ayudar

     



     


       

       


       


           


     

           


    • Cambiado webJoseModerator lunes, 17 de noviembre de 2014 2:44 La pregunta no es del lenguaje C#.
    lunes, 17 de noviembre de 2014 2:13

Respuestas

  • hola

    pero como piensas mostrar varios registros en textbox simples? con controles solo podras mostrar un unico registro

    yo recomendaria que realices algo como esto

    [WinForms] Edición Empleados

    ----

    ademas el codigo que usas es incorrecto tienes que usar parametros, algo como esto

    Public Class practica
    
    	Private connstring As String = "data source=localhost;database=municipio;password=root;user=root"
    
    	Shared Function consultardato(ByValdato AsString) AsDataTable
    
    		Using cn As New MySqlConnection(connstring)
    		
    			Dim query As String = "select * from registro where NOMBRE LIKE CONCAT('%', ?nombre, '%')"
    			Dim cmd As New MySqlCommand(query, cn)
    			cmd.Parameters.AddWithValue("?nombre", dato.Trim())
    			
    			Dimd a As New MySqlDataAdapter(cmd)
    			Dim tabla As New DataTable
    			da.Fill(tabla)
    
    			return tabla
    			
    		End Using
    
    	End Funtion 
    
    End Class

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta BMiguel.a miércoles, 19 de noviembre de 2014 2:34
    lunes, 17 de noviembre de 2014 3:34
  • hola

    es verdad eso es porque usa el Shared

    solo define

    Private Shared connstring As String = "data source=localhost;database=municipio;password=root;user=root"
    asi podras accederlo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    • Editado Leandro TuttiniMVP lunes, 17 de noviembre de 2014 23:30
    • Marcado como respuesta BMiguel.a miércoles, 19 de noviembre de 2014 2:33
    lunes, 17 de noviembre de 2014 23:30

Todas las respuestas

  • Hola querido amigo pues la manera que yo empleo para hacer lo que indicas.

    Es almacenar mis datos en una variable tipo datatable y luego indicar la columna que deseo.

    Datatable Tabla;

    Tabla = objn.MiFuncion(Parametros);

    Textboxt.text = Tabla.rows[0]["MiColumna"].toString();

    Espero que te haya servido gracias.

    lunes, 17 de noviembre de 2014 3:03
  • hola

    pero como piensas mostrar varios registros en textbox simples? con controles solo podras mostrar un unico registro

    yo recomendaria que realices algo como esto

    [WinForms] Edición Empleados

    ----

    ademas el codigo que usas es incorrecto tienes que usar parametros, algo como esto

    Public Class practica
    
    	Private connstring As String = "data source=localhost;database=municipio;password=root;user=root"
    
    	Shared Function consultardato(ByValdato AsString) AsDataTable
    
    		Using cn As New MySqlConnection(connstring)
    		
    			Dim query As String = "select * from registro where NOMBRE LIKE CONCAT('%', ?nombre, '%')"
    			Dim cmd As New MySqlCommand(query, cn)
    			cmd.Parameters.AddWithValue("?nombre", dato.Trim())
    			
    			Dimd a As New MySqlDataAdapter(cmd)
    			Dim tabla As New DataTable
    			da.Fill(tabla)
    
    			return tabla
    			
    		End Using
    
    	End Funtion 
    
    End Class

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta BMiguel.a miércoles, 19 de noviembre de 2014 2:34
    lunes, 17 de noviembre de 2014 3:34
  • hola bueno es q soy nuevo y en realidad no se ni como hacerle en código anterior

    en el using tengo  un problema que me arroja

    Using cn As New MySqlConnection(connstring)
     

    me dice que no se puede hacer referencia a u miembro de instancia de una clase desde un método compartido o inicializador  de método compartido sin una instancia explicita de la clase

    el error me lo da el (connstring)

    lunes, 17 de noviembre de 2014 22:31
  • hola muchas gracias pero en realidad no sabría como aplicarlo

    lunes, 17 de noviembre de 2014 22:32
  • hola

    es verdad eso es porque usa el Shared

    solo define

    Private Shared connstring As String = "data source=localhost;database=municipio;password=root;user=root"
    asi podras accederlo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    • Editado Leandro TuttiniMVP lunes, 17 de noviembre de 2014 23:30
    • Marcado como respuesta BMiguel.a miércoles, 19 de noviembre de 2014 2:33
    lunes, 17 de noviembre de 2014 23:30
  • Si yo quiero hacerlo en visual basic  y en un datagridview como seria?

    Gracias


    REACH

    lunes, 17 de noviembre de 2014 23:53
  • hola muchas gracias me funciono muy bien pero aun tengo la dura con los tex box
    miércoles, 19 de noviembre de 2014 2:36