none
Como mostrar datos en label o en textbox

    Question

  • Hola a todos:

    veran la cosa es que quiero hacer una consulta a una tabla q esta en access he hecho consultas ingresando la busqueda en un textbox y mostrar el resultado en una grilla, y luego dar clic en la grilla y de ahi mostrar el contenido de la fila en diferentes textboxs, pero ahora no encuentro la forma de mostrar directamente los datos de la tabla a los labels o textbox. esta es mi conexion:

     Public BD As String = Application.StartupPath + "/puentes.mdb"
        Public Conexion As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & BD
        Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
            Dim cn As New OleDbConnection(Conexion)
            Dim MiDataSet As New DataSet
            Try
                If RadioButton1.Checked = True Then
                    Dim MiAdaptador As New OleDb.OleDbDataAdapter
                    cn.Open()
                    ' Creamos la consulta
    
                    'Dim q As String = " select c.clave_cliente,c.Id_razon_social,o.Id_obra,o.obra, * from CLIENTE c inner join  OBRA o  on c.clave_cliente=o.clave_cliente  where Id_razon_social like '" & Trim(Replace(TextBox1.Text, "'", "k")) & "%'"
                    Dim q As String '= " select c.Id_razon_social,o.obra,co.Id_concepto,c.domicilio, o.lugar, c.rfc, c.cp, o.estado, co.concepto, co.importe, co.concepto1, co.importe1, co.concepto2, co.importe2, co.concepto3, co.importe3, co.concepto4, co.importe4, * from CONCEPTO co  inner join (CLIENTE c inner join  OBRA o  on c.clave_cliente=o.clave_cliente) on o.Id_obra= co.Id_obra where Id_razon_social like '" & Trim(Replace(TextBox1.Text, "'", "k")) & "%'"
                    'creamos un comando"
                    Dim comando As New OleDbCommand(q, cn)
                    MiAdaptador.SelectCommand = comando
                End If
            Catch ex As Exception
                'mostramos el error
                MessageBox.Show("error " & Err.Number.ToString & vbCrLf & ex.Message)
            Finally
                'cerramos la conexion solo si esta abierta
                If (cn.State And ConnectionState.Open) <> 0 Then
                    cn.Close()
                End If
            End Try
        End Sub
    End Class

    esta es la forma de mostrarlo en la grilla y es de otra tarea que hice alguien me podria ubicar por fa

    Gracias!!!!!


    dikerjarp

    Tuesday, June 05, 2012 4:32 PM

Answers

  • usa parametros, no concatenes el string

    Public Sub Comprobar()
    
    	Dim cn As New OleDbConnection(Conexion)
    	cn.Open()
    	
    	Dim query As String = "select nombrecol from geo_trabe where Id_geotrabe= @id"
    	Dim cmd As New OleDbCommand(query, cn)
    	cmd.Parameters.AddWithValue("@id", TextBox1.Text.Trim)
    	
    	Dim dr As OleDbDataReader = cmd.ExecuteReader
    	
    	If dr.Read() Then
    		TextBox2.Text = Convert.ToString(dr("nombrecol"))
    	End If
    
    	cn.Close()
    End Sub

    recuerda que si el valor del id es numerico deberias usar

    cmd.Parameters.AddWithValue("@id", Convert.ToInt32(TextBox1.Text.Trim))

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    Tuesday, June 05, 2012 5:22 PM

All replies

  • tutextbox.text = tudatagridview.rows(tudatagridiew.currentrow.index).cells(numero de celda).value
    Tuesday, June 05, 2012 4:41 PM
  • Hola Frankren gracias por el aporte, pero lo que quiero hacer es una busqueda directa, me refiero a que la consulta que haga me la muestre directo en textbox no de la grilla al textbox de todos modos gracias

    dikerjarp

    Tuesday, June 05, 2012 4:45 PM
  • Eso lo puedes poner en tu botón de búsqueda, lo condicionas a que si tu busqueda es mayor de 0 entonces te mande a tus textbox la busqueda y automaticamente te los llene. No se si a eso te refieres.
    Tuesday, June 05, 2012 4:47 PM
  • Hola perdon por colocar el codigo anterior que contiene el datagridview lo coloque solo para dar ejemplo de la conexión que hice anteriormente, les muestro el codigo que estoy utilizando en este momento y que tiene error y le estoy dando y dando para enconrtrar la respuesta.

    Imports System.Data
    Imports System.Data.OleDb
    Public Class geometria_trabe
        Public BD As String = Application.StartupPath + "/puentes.mdb"
        Public Conexion As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & BD
        Public Sub Comprobar()
            Dim cn As New OleDbConnection(Conexion)
            Dim cmd As OleDbCommand
            Dim dr As OleDbDataReader
            Dim objDataView As New DataView()
            ' abro coneccion
            cn.Open()
            cmd = New OleDbCommand("select * from geo_trabe where Id_geotrabe= '" & TextBox1.Text.Trim & "'", cn)
            dr = cmd.ExecuteReader
            If dr.HasRows = False Then
                ' registro nuevo
                While dr.Read()
                    TextBox2.Text = dr(2)
                End While
            End If
            cn.Close()
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Comprobar()
        End Sub
    End Class

    escribo 1 en el textbox1 este hace referencia al id de la consulta de la tabla geotrabe, y quiero que me muestre el contenedo de la columna2 en el textbox2  

    Espero darme a enteder esta ves!!!

    gracias 


    dikerjarp

    Tuesday, June 05, 2012 5:11 PM
  • usa parametros, no concatenes el string

    Public Sub Comprobar()
    
    	Dim cn As New OleDbConnection(Conexion)
    	cn.Open()
    	
    	Dim query As String = "select nombrecol from geo_trabe where Id_geotrabe= @id"
    	Dim cmd As New OleDbCommand(query, cn)
    	cmd.Parameters.AddWithValue("@id", TextBox1.Text.Trim)
    	
    	Dim dr As OleDbDataReader = cmd.ExecuteReader
    	
    	If dr.Read() Then
    		TextBox2.Text = Convert.ToString(dr("nombrecol"))
    	End If
    
    	cn.Close()
    End Sub

    recuerda que si el valor del id es numerico deberias usar

    cmd.Parameters.AddWithValue("@id", Convert.ToInt32(TextBox1.Text.Trim))

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    Tuesday, June 05, 2012 5:22 PM
  • una pregunta leandro en esta parte:

    Dim query As String = "select nombrecol from geo_trabe where Id_geotrabe= @id"

     el "@Id" a que hace referencia y "nombrecol" tambien a que se refiere perdon por la ignorancia


    dikerjarp

    Tuesday, June 05, 2012 5:33 PM
  • perdon leandro analice mejor tu respuesta y ya le entendi gracias!!!!!

    dikerjarp

    Tuesday, June 05, 2012 5:43 PM