Visual Basic.NET - Cargar DataGridView error No se puede reconocer la cadena como valor DateTime Valido

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

Cargar DataGridView error No se puede reconocer la cadena como valor DateTime Valido

Publicado por Carlos (41 intervenciones) el 18/06/2020 23:17:08
Muy buenas:
llevo pegándome con este error unos cuantos días y no sé como solucionarlo. La base de Datos está creada
con Sqlite Administrator y los campo Fecha y Hora están definidos como DATE y TIME respectivamente.

Al ejecutar el código siempre me da el error indicado en el asunto No se puede reconocer la cadena como valor DateTime Valido


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim sql As String = "Select id_Expediente,Traces,Tipo,Fecha,Mercancia,Transitario,Pais,AV,FISICO," &
                    "Open_Close,Sumaria,Parking,C_S_O,Activado,Id_Inspector from Expediente"
cadena = "Data Source=" & RutaBaseDato
Dim conexion = New SQLiteConnection(cadena)
Dim cmd = New SQLiteCommand(sql, conexion)
Dim adapter = New SQLiteDataAdapter(cmd)
Dim dt As DataTable = Nothing
Dim ds As New DataSet
 
Try
    adapter.Fill(ds, "Expediente") '---->Esta es la que me lanza el error indicado , Expediente es la Tabla
    dt = ds.Tables("Expediente")
Catch ex As Exception
    MsgBox("Se ha cancelado la acción: " & ex.Message)
End Try

Pero si quito el campo Fecha, funciona correctamente pero es IMPRESCINDIBLE que este vaya
Gracias de antemano
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 Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Cargar DataGridView error No se puede reconocer la cadena como valor DateTime Valido

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 19/06/2020 18:55:47
Revisa que no tengas algún registro con fecha no válida, eso primero, luego pruebas con cambiar el nombre del campo como por ejemplo FechaRegistro o algo así.

Saludos cordiales,
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: 112
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Cargar DataGridView error No se puede reconocer la cadena como valor DateTime Valido

Publicado por Carlos (41 intervenciones) el 22/06/2020 16:15:09
Muy buenas: El problema aparte de lo indicado en el codigo fuente es que tengo varios campos de Fecha en la BB.DD., he migrado los datos de una antigua mdb a la nueva atraves de un archivo plano que he generado y a la hora de guardar los campos Fecha que son del Tipo Text, los he transformado a yyyy-mm-dd hh:mm:ss. con todos sus digitos.
Y me sigue dando el mismo problema del asunto "Cargar DataGridView error No se puede reconocer la cadena como valor DateTime Valido".
Habria alguna forma de transformar este campo para poder trabajar correctamente; las tablas afectadas tienen la que mas 245.000 Registros, y la que menos 65.500, me tardó la migración más de 12h ininterrumpidas (Considero que fué demasiado, pero es lo que me tardo en realizarlo).
Urge ideas para la resolución del próblema.

https://www.dropbox.com/s/479534oniedwylo/Captura%20de%20pantalla%202020-06-22%2016.08.29.png?dl=0

En el adjunto llevais una captura de los datos de Fecha de la Tabla afectada

Gracias de antemano y un saludo a todos
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: 112
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Cargar DataGridView error No se puede reconocer la cadena como valor DateTime Valido

Publicado por Carlos (41 intervenciones) el 22/06/2020 20:29:06
Muy buenas:

Ya di con el problema, y efectivamente el problema estaba que cuando modifique las Tablas se me paso cambiar un campo de fecha a Text y se quedo como Date.

Lo he modificado a Text y ya me funciona el DataGridView.

Gracias a todos por vuestra ayuda
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 Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Cargar DataGridView error No se puede reconocer la cadena como valor DateTime Valido

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 23/06/2020 02:52:07
Solo recuerda que un text, no es una fecha, pero en fín, si ya dices que solucionaste adelante.

Saludos cordiales,
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: 112
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Cargar DataGridView error No se puede reconocer la cadena como valor DateTime Valido

Publicado por Carlos (41 intervenciones) el 04/08/2020 23:01:52
Muy buenas, Wilfedro:

Que razón llevabas, que un campo Text no es una fecha, ahora que tengo casi lista la aplicación me he dado cuenta que no me los ordena correctamente, y eso que lo paso como yyyy-dd-mm hh:mm:ss, de la siguiente manera, leo el valor de la fecha que estaba en un campo y el de la Hora en otro, y hago lo siguiente
CampoFecha="02/06/2017"
CampoHora="8:12:23"
cFecha=Mid(CampoFecha,6,4)+"-"Mid(CampoFecha,3,2)+"-"+Mid(CampoFecha,1,2) ---->cFecha="2017-06-02"

If Len(CampoHora)<8 then
cHora="0"+CampoHora
endif
cHora=Mid(cHora,1,2)+":"+Mid(cHora,3,2)+":"+Mid(cHora,6,2) ----->cHora="08:12:23"
cFecha=cFecha+" "+cHora ------------> "2017-06-02 08:12:23"

para poder grabarlo en la Sqlite hago
cFecha=Convert.ToDateTime(cFecha)
y lo graba pero no me respeta el orden, ni me guarda el primer cero de la hara si es inferior de 10, es decir que lo que graba es 2017-06-02 8:12:23

En la Sqlite esta definido como Campo Text, desearia saber como he de proceder para que la visualizacion sea la correcta y se pueda ordenar por ese campo de forma correcta.

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