tipo Fecha en sql server 2008

28/04/2010 - 05:36 por Dante | Informe spam
Amigos,

una duda como es el manejo de fechas en sql server 2008 debido a que
hora existen varios tipos de campos fechas (date,datetime,etc)

y en vb.net no encuentro como retornar una valor tipo fecha 26/04/2010.

tendran un ejemplo de como realizar esto.


Dante

Preguntas similare

Leer las respuestas

#1 SoftJaén
28/04/2010 - 13:49 | Informe spam
Hola, Dante:

Imagina que deseas recuperar todos los registros de la tabla cuyo campo
Fecha se corresponda con el día de hoy. Actuarías de la siguiente manera:

Imports System.Data.SqlClient

Using cnn As New SqlConnection( _
"Data Source=(local);" & _
"Initial Catalog=Nombre_Base_Datos;" & _
"Integrated Security=SSPI")

Dim sql As String = _
"SELECT * FROM Tabla1 " & _
"WHERE CampoFecha = @Fecha"

Dim cmd As New SqlCommand(sql, cnn)

' Creamos el parámetro
'
Dim par As New SqlParameter("@Fecha", SqlDbType.DateTime)
par.Value = New DateTime(2010, 4, 28)

' Añadimos el parámetro al comando.
'
cmd.Parameters.Add(par)

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

' Recuperamos un objeto DataReader
'
Dim dr As SqlDataReader = _
cmd.ExecuteReader(CommandBehavior.CloseConnection)

' Creamos un nuevo objeto DataTable
'
Dim dt As New DataTable("NombreDataTable")

' Cargamos los datos en el objeto DataTable.
'
dt.Load(dr)

' Mostramos el resultado en un control DataGridView.
'
DataGridView1.DataSource = dt

End Using

Ahora deseas leer el campo Fecha del primer registro del objeto DataTable:

' Referenciamos el objeto DataTable
' asociado con el control DataGridView.
'
Dim dt As DataTable = _
DirectCast(DataGridView1.DataSource, DataTable)

' Obtenemos el valor del CampoFecha
' correspondiente al primer registro
' del objeto DataTable.
'
Dim row As DataRow = dt.Rows(0)

Dim value As Object = row.Item("CampoFecha")

If value IsNot DBNull.Value Then
Dim fecha As DateTime = CDate(value)

MessageBox.Show(CStr(fecha))

Else
MessageBox.Show("El valor del campo es NULL.")
End If

¡Eso es todo!

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.
Respuesta Responder a este mensaje
#2 Dante
02/05/2010 - 05:31 | Informe spam
Pero en el ejemplo que muestras es consultar mandando un datetime, pero
en mi BD tengo campos DATE, ese parametro me sirve tanto para DATE y
DATETIME??


Gracias

El 28/04/2010 06:49 a.m., SoftJaén escribió:
Hola, Dante:

Imagina que deseas recuperar todos los registros de la tabla cuyo campo
Fecha se corresponda con el día de hoy. Actuarías de la siguiente manera:

Imports System.Data.SqlClient

Using cnn As New SqlConnection( _
"Data Source=(local);" & _
"Initial Catalog=Nombre_Base_Datos;" & _
"Integrated Security=SSPI")

Dim sql As String = _
"SELECT * FROM Tabla1 " & _
"WHERE CampoFecha = @Fecha"

Dim cmd As New SqlCommand(sql, cnn)

' Creamos el parámetro
'
Dim par As New SqlParameter("@Fecha", SqlDbType.DateTime)
par.Value = New DateTime(2010, 4, 28)

' Añadimos el parámetro al comando.
'
cmd.Parameters.Add(par)

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

' Recuperamos un objeto DataReader
'
Dim dr As SqlDataReader = _
cmd.ExecuteReader(CommandBehavior.CloseConnection)

' Creamos un nuevo objeto DataTable
'
Dim dt As New DataTable("NombreDataTable")

' Cargamos los datos en el objeto DataTable.
'
dt.Load(dr)

' Mostramos el resultado en un control DataGridView.
'
DataGridView1.DataSource = dt

End Using

Ahora deseas leer el campo Fecha del primer registro del objeto DataTable:

' Referenciamos el objeto DataTable
' asociado con el control DataGridView.
'
Dim dt As DataTable = _
DirectCast(DataGridView1.DataSource, DataTable)

' Obtenemos el valor del CampoFecha
' correspondiente al primer registro
' del objeto DataTable.
'
Dim row As DataRow = dt.Rows(0)

Dim value As Object = row.Item("CampoFecha")

If value IsNot DBNull.Value Then
Dim fecha As DateTime = CDate(value)

MessageBox.Show(CStr(fecha))

Else
MessageBox.Show("El valor del campo es NULL.")
End If

¡Eso es todo!

Un saludo

Respuesta Responder a este mensaje
#3 SoftJaén
02/05/2010 - 06:32 | Informe spam
"Dante" preguntó:

Pero en el ejemplo que muestras es consultar mandando un
datetime, pero en mi BD tengo campos DATE, ese parametro
me sirve tanto para DATE y DATETIME??



¿Lo has probado? Pruébalo primero y mira a ver si sirve o no sirve.

Si no sirve, ya veremos lo que hacemos para que sirva. ;-)


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.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida