none
Poner el resultado de un select en una caja de texto

    Pregunta

  • Buenos días, podéis ayudarme a poner el resultado de un select en una caja de texto

    txtNombre = ?????

    mediante una funcion hago una consulta y verifico q el dato a mostrar existe, pero no puedo posteriormente cargarlo en dicha caja de texto.

    Gracias.


    Jose

    lunes, 22 de agosto de 2016 12:23

Respuestas

  • Hola jose_programando,

    Al nombrar 'select' asumo que estás usando una base de datos? SQLServer, Access, etc.. ?

    [-] ... mediante una funcion hago una consulta y verifico q el dato a mostrar existe, pero no puedo posteriormente cargarlo en dicha caja de texto.

    No puedes validar la existencia y tomar el valor al mismo tiempo ?

    Algo así : En este caso muestro ejemplo para SQL.

     Private Function getNameIfExists(ByVal userID As Integer) As String
            Using con As New SqlConnection("MiCadenaConexion")
                con.Open()
    
                Dim cmd As New SqlCommand
                cmd.Connection = con
                cmd.CommandText = "select count(1) from miTabla where idUser = @id"
                cmd.Parameters.AddWithValue("@id", userID)
    
                'Si existe es True
                Dim existe As Boolean = Convert.ToInt32(cmd.ExecuteScalar) > 0
    
                'Si existe, retorna el nombre
                If existe Then
                    cmd.CommandText = "Select nombre from miTabla where idUser = @id"
                    Return Convert.ToString(cmd.ExecuteScalar)
                End If
    
                Return String.Empty
            End Using
        End Function

    Y para mostrar el valor : Puedes agregar un 'else' para agregar un código por si retorna String.empty (no existe).

          'Si NO retorna vacío, es porque existe
            If getNameIfExists(id) <> String.Empty Then
                txtNombre.Text = getNameIfExists(id)
            End If

    Así evitas estar creando dos funciones.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    lunes, 22 de agosto de 2016 19:10

Todas las respuestas

  • Hola jose_programando,

    Al nombrar 'select' asumo que estás usando una base de datos? SQLServer, Access, etc.. ?

    [-] ... mediante una funcion hago una consulta y verifico q el dato a mostrar existe, pero no puedo posteriormente cargarlo en dicha caja de texto.

    No puedes validar la existencia y tomar el valor al mismo tiempo ?

    Algo así : En este caso muestro ejemplo para SQL.

     Private Function getNameIfExists(ByVal userID As Integer) As String
            Using con As New SqlConnection("MiCadenaConexion")
                con.Open()
    
                Dim cmd As New SqlCommand
                cmd.Connection = con
                cmd.CommandText = "select count(1) from miTabla where idUser = @id"
                cmd.Parameters.AddWithValue("@id", userID)
    
                'Si existe es True
                Dim existe As Boolean = Convert.ToInt32(cmd.ExecuteScalar) > 0
    
                'Si existe, retorna el nombre
                If existe Then
                    cmd.CommandText = "Select nombre from miTabla where idUser = @id"
                    Return Convert.ToString(cmd.ExecuteScalar)
                End If
    
                Return String.Empty
            End Using
        End Function

    Y para mostrar el valor : Puedes agregar un 'else' para agregar un código por si retorna String.empty (no existe).

          'Si NO retorna vacío, es porque existe
            If getNameIfExists(id) <> String.Empty Then
                txtNombre.Text = getNameIfExists(id)
            End If

    Así evitas estar creando dos funciones.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    lunes, 22 de agosto de 2016 19:10
  • Muchas Gracias Joel, voy a probarlo!! :)

    Jose

    martes, 23 de agosto de 2016 6:11