Visual Basic.NET - Problema raro al grabar fecha y hora sqlite vb.net

 
Vista:
Imágen de perfil de Carlos
Val: 116
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema raro al grabar fecha y hora sqlite vb.net

Publicado por Carlos (40 intervenciones) el 16/09/2020 19:56:36
Muy buenas:

Tengo una Base de Datos Sqlite, con campo Fecha/Hora de tipo Text y grabo siempre en formato yyyy-MM-dd HH:mm:ss; el problema me surge que siempre que grabo algun valor en el citado campo, la Base de datos me añade 2Horas al formato indicado, entiendo que debe de ser por GMT, como podria solucinarlo.
Para mas claridad del tema en una variable obtengo
cFecha as string ="2020-09-16 19:50:00"
cuando hago
1
Update Expediente SET Fecha='" +cFecha+"' where ....
o esto otro
1
Update Expediente SET Fecha=DateTime('" +cFecha+"') where ....

siempre me guarda dos horas mas es decir en la BD guarda 2020-09-16 21:50:00 y no tengo ningun tipo de error
Uso Vb.Net
¿Como puedo solucionarlo?

Gracias anticipadas
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
Imágen de perfil de Phil Rob
Val: 3.196
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema raro al grabar fecha y hora sqlite vb.net

Publicado por Phil Rob (937 intervenciones) el 16/09/2020 20:33:11
Hola,

Por favor, mira el sito : https://www.sqlitetutorial.net/sqlite-date/ y lees sobre LocalTime. Deberías encontrar la repuesta a tu pregunta.

También puedes probar los códigos siguiente para comprender (quizá) :

1
2
3
4
5
6
7
Dim MiFecha As Date
 
MiFecha = Now
 
MessageBox.Show(MiFecha)
MessageBox.Show(MiFecha.ToUniversalTime)
MessageBox.Show(MiFecha.ToLocalTime)

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
Imágen de perfil de Carlos
Val: 116
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema raro al grabar fecha y hora sqlite vb.net

Publicado por Carlos (40 intervenciones) el 16/09/2020 20:55:35
Muy buenas Phil:

Lo que me pones lo entiendo, pero el tema es en el momento de grabar la variable te paso imagen de la captura de la Tabla como me has pedido,
Este es el fuente de la rutina

MsgBox(cFecGrSum) ------> AQUI cFecGrSum VALE 2019-09-16 20:52:00 ES un String

cmd.CommandText = "UPDATE Expediente SET Sumaria='" & cTestSumaria & "',FechaSum='" & cFecGrSum & "' where Id_Expediente='" & cManual & "'"
cmd.ExecuteNonQuery()

Y si lo cambio por :

cmd.CommandText = "UPDATE Expediente SET Sumaria='" & cTestSumaria & "',FechaSum=DateTime('" & cFecGrSum & "') where Id_Expediente='" & cManual & "'"
cmd.ExecuteNonQuery()
en ambas opciones obtengo el mismo resultado

Aquí ha grabado 2019-09-16 22:52:00, le ha añadido 2 horas mas

Saludos
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
Imágen de perfil de jorge
Val: 145
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema raro al grabar fecha y hora sqlite vb.net

Publicado por jorge (77 intervenciones) el 16/09/2020 21:03:05
Bueno con lo poc que se bases de datos yo en mi umilde opinion ese campo deberia ser tipo date.
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
Imágen de perfil de Phil Rob
Val: 3.196
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema raro al grabar fecha y hora sqlite vb.net

Publicado por Phil Rob (937 intervenciones) el 16/09/2020 21:16:43
Si el campo es de tipo String, puedes testar de escribir cFecGrSum.ToUniversalTime o cFecGrSum.LocalTime segun este te gusta.

Entonces, veras el valor en la DB como te gustas. No SqLite modifica un valor de tipo String. Pero no envias me el esquema de la tabla y informaciones me faltadas.
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
Imágen de perfil de Carlos
Val: 116
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problema raro al grabar fecha y hora sqlite vb.net

Publicado por Carlos (40 intervenciones) el 16/09/2020 23:56:35
Buenas de nuevo:

Perdona por las molestias, el error no estaba en la grabación, (la hace correctamente), el problema lo tenia al Cargar el DataGridView en el refresco de la misma hacia lo siguiente:

SELECT ,,,,,,,,strftime('%d%m%y %h%M%S,FechaSum,'localTime'),,From Expediente .....

quitando el localTime ya me refleja la hora correcta de la BD

Saludos y Gracias
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