comparar fecha del sistema con la base de datos

30/07/2006 - 02:02 por pavel | Informe spam
hola a todos
no se si alguien me podria ayudar dando me alguna forma de comparar la fecha
que tenga en una base de datos con la fecha del sistema, y si la fecha fuera
igual o posterior a la del sistema salga un anuncio de prod. caducado
les agradeceria bastante su ayuda
el programa esta en visual 2005
 

Leer las respuestas

#1 SoftJaén
30/07/2006 - 10:44 | Informe spam
"pavel" escribió:

no se si alguien me podria ayudar dando me alguna forma de comparar la
fecha que tenga en una base de datos con la fecha del sistema, y si la
fecha fuera igual o posterior a la del sistema salga un anuncio de prod.
caducado



Hola:

Te podrías construir una función que hiciera una consulta a la base de
datos, comparara las fechas y te devolviera el valor apropiado para mostrar
el mensaje de advertencia. Por ejemplo, te podría servir la siguiente
función, la cual utiliza objetos del proveedor de datos .net OleDb para
conectarte con una base de datos Access. Si la información la tienes en otro
sistema de bases de datos, con cambiarle a los objetos el tipo de datos en
la declaración de las variables, sería suficiente:

Public Function CheckDate(ByVal connString As String, _
ByVal queryString As String) As Boolean

Try

Using cnn As New OleDbConnection(connString)

' Construimos la consulta SQL de selección
'
Dim cmd As New OleDbCommand(queryString, cnn)

' Abrimos la conexión
'
cnn.Open()

' Abrimos un objeto DataReader
'
Dim dr As OleDbDataReader = cmd.ExecuteReader()

' Leemos los datos
'
While dr.Read()

' Fecha en la base de datos
Dim fechaProducto As DateTime = dr.GetDateTime(0)

' Fecha actual
Dim fechaActual As DateTime = DateTime.Today

' Comparamos las fechas
If fechaProducto < fechaActual Then Return True

End While

' Se cierra el objeto DataReader y la conexión
'
dr.Close()

End Using

Catch ex As Exception
MessageBox.Show(ex.Message)

End Try

End Function

Suponiendo que la tabla de la base de datos tiene un campo llamado «Fecha»,
llamarías a la función de la siguiente manera:

If CheckDate("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Mis documentos\Bd1.mdb", _
"SELECT Fecha FROM Tabla WHERE Campo1='lo que sea'") = False Then

MessageBox.Show("Producto caducado.")

End If

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares