none
Visual basic:comparar fecha de vencimiento con la fecha de hoy RRS feed

  • Debate general

  • Lo que necesito consultarles, es que debo mostrar en una tabla aquellos clientes que tengan los pagos al dia, esto lo haria con una consulta select:

    conexion = New SqlConnection("server=(local);database=sancristobal;integrated security=SSPI")
            da = New SqlDataAdapter()

            Dim fecha As Date
            fecha = Date.Now



            Dim consultar As New SqlCommand("SELECT dbo.Cliente.dni_cliente as DNI, dbo.Cliente.apellido as Apellido, dbo.Cliente.nombre as Nombre FROM dbo.Cliente INNER JOIN dbo.Pagos ON dbo.Cliente.dni_cliente = dbo.Pagos.dni_cliente INNER JOIN dbo.Estado ON dbo.Pagos.codEstado = dbo.Estado.codEstado WHERE (dbo.Estado.nombreEstado = 'PAGADO') or (dbo.Pagos.fechaPago <'" & Date.Now() & "') order by Cliente.nombre asc", conexion)
            da.SelectCommand = consultar
            conexion.Open()
            datos = New DataSet()
            conexion.Close()

            da.Fill(datos, "Pagos")

    Pero de todas las formas que lo e hecho me sale no se puede convertir cadena de caracteres a fecha y/u hora

    AYUDAA X FAVOOOR!

    jueves, 10 de julio de 2014 21:05

Todas las respuestas

  • Si realmente lo quieres hacer así, cambia el formato de la fecha sustituyendo Date.Now() por esto:

    DateTime.Now.ToString("yyyyMMdd")

    o por esto:

    DateTime.Now.ToString("MM/dd/yyyy")

    Pero sería mucho más elegante parametrizar la sentencia y asignarle la fecha al parámetro. De esta manera no te tienes que preocupar del formato de la fecha:

    Dim consultar As New SqlCommand(".....or (dbo.Pagos.fechaPago<@fecha) order by ..."

    consultar.Parameters.AddWithValue("@fecha", DateTime.Now)

    viernes, 11 de julio de 2014 8:17