Visual Basic - Agregar fecha SQL 2008 formato dd/mm/yyyy

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Agregar fecha SQL 2008 formato dd/mm/yyyy

Publicado por Gustavo (3 intervenciones) el 14/09/2014 23:28:38
Hola!
Bueno, esta es mi problema, siempre trabajé con Access y ahora migré a SQL Server 2008 y cuando quiero guardar una fecha con VB6 me la guarda con formato "yyyy-mm-dd" y necesito que sea "dd/mm/yyyy"

Para guardar una fecha uso un DTPicker con Format(Now, "dd/MM/yyyy") pero de igual forma el SQL me la guarda como "yyyy-mm-ddd"

Al igual que cualquier consulta que haga me da error, ejemplo

1
RS.Open "SELECT * FROM Ambulatorio WHERE FECHA = '" & Date & "'", Cnx, adOpenDynamic, adLockOptimistic

Error:

1
2
3
Run-time error '-2147217913 (80040e07)':
 
[Microsoft][ODBC Server Driver][SQL Server] Conversion failed when converting date and/or time from character string

Alguien me puede ayudar e indicarme como debo guardar la fecha?

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Agregar fecha SQL 2008 formato dd/mm/yyyy

Publicado por Pico (114 intervenciones) el 15/09/2014 12:47:25
Las fechas en un DTPicker o en SQL no tienen ningún formato, no son más que un número muy gordo. El formato lo tienen cuando lo muestran, porque un 49543039594 para ti no es nada. Así que si lo quieres en otro formato, muéstralo así.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Agregar fecha SQL 2008 formato dd/mm/yyyy

Publicado por Gustavo (3 intervenciones) el 15/09/2014 14:39:54
Pico, gracias por responder.

Pero mi problema es el siguiente, Al querer guardar una fecha en cualquier formato me tira error.

Algo tan simple como esto:

1
2
3
4
5
6
7
8
Dim RS As New ADODB.Recordset
Cnx.BeginTrans
RS.Open "SELECT * From Prueba", Cnx, adOpenDynamic, adLockOptimistic
RS.AddNew
RS!fecha = DTPicker1.Value
RS.Update
Cnx.CommitTrans
Set RS = Nothing

Y el error es el mismo:

1
2
3
Run-time error '-2147217913 (80040e07)':
 
[Microsoft][ODBC Server Driver][SQL Server] Conversion failed when converting date and/or time from character string

Que código entonces debo usar para guardar las fechas de un DTPicker?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Agregar fecha SQL 2008 formato dd/mm/yyyy

Publicado por Pico (114 intervenciones) el 15/09/2014 15:25:15
Pues de la misma manera que SQL no guarda una fecha más que como un número, cuando le pasas una fecha tienes que pasársela como la espera, y eso depende de los locale.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Agregar fecha SQL 2008 formato dd/mm/yyyy

Publicado por Gustavo (3 intervenciones) el 16/09/2014 20:20:09
Solucionado.

En lugar de poner DTPicker1.valu hay que poner

1
Format(DTPicker1.Value,"yyyy-mm-dd")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Agregar fecha SQL 2008 formato dd/mm/yyyy

Publicado por Pico (114 intervenciones) el 16/09/2014 21:10:11
No. Lo que tengas que poner o dejar de poner como formato en el Value del DTPicker depende de los locale. Así que a ti te funciona poniendo eso, pero a otro le funcionará poniendo otra cosa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar