none
LLevar una fecha de SQL Server a un Label RRS feed

  • Pregunta

  • Buen Día , estimados tengo que hacerles una consulta el cual es esta

    En mi proyecto de VB no se como hacer para llevar una fecha que se encuntra en un campo de la base de datos SQL Server hacia un Label

    El formato de la fecha es: 2019-06-25 en SQL Server la necesito llevar a VB tal cual pero no se como hacerlo.

    Alguna ayuda

    He usado este código pero solo me devuelve una hora.

    Using conn1 As New SqlConnection("Server=xxx;Database=xx;User Id=xx;Password=xx")
                conn1.Open()
                'Consulta
                Dim sql1 As String = "SELECT MAX (FECHA_PROG) FROM PROG_MTTOS WHERE ESTATUS = 'REALIZADO' AND EQ_ID = '" & TextBox1.Text & "'"
                'Comando
                Dim cmd1 As New SqlCommand(sql1, conn1)
                'Operacion de conteo
                Dim ultimomanto As Date
                'Llenar el label con el resultado almacenado en la variable
                Label16.Text = CStr(ultimomanto)
            End Using

    jueves, 27 de junio de 2019 23:26

Todas las respuestas

  • Lo único que te falta es llamar al método ExecuteScalar del cmd para que se ejecute la consulta y te devuelva el resultado:

    Using conn1 As New SqlConnection("Server=xxx;Database=xx;User Id=xx;Password=xx")
                 conn1.Open()
                 'Consulta
                 Dim sql1 As String = "SELECT MAX (FECHA_PROG) FROM PROG_MTTOS WHERE ESTATUS = 'REALIZADO' AND EQ_ID = '" & TextBox1.Text & "'"
                 'Comando
                 Dim cmd1 As New SqlCommand(sql1, conn1)
                 Dim ultimomanto As Date = CDate(cmd1.ExecuteScalar())
                 'Llenar el label con el resultado almacenado en la variable
                 Label16.Text = CStr(ultimomanto)
             End Using 

    Ahora bien, dicho lo anterior, hay varias cosas a tener en cuenta. Una es que esto presume que el dato en la base de datos es de tipo DateTime. De lo contrario habría que andar con cuidado con las conversiones de formato. Lo digo porque mencionas que "el formato de la fecha es ... en SQL Server". Esto es contradictorio con que el campo sea de tipo DateTime, porque los DateTime no almacenan formato, se guardan en binario.

    Otra cosa a mencionar es que la sentencia sql es vulnerable ante ataques de inyección de SQL. Deberías parametrizarla.

    • Propuesto como respuesta Pablo Rubio viernes, 28 de junio de 2019 14:52
    viernes, 28 de junio de 2019 6:37