Fechas vb.net

Tengo un problema al quiere hacer una consulta a una base de datos Firebird

Dim INICIO = CDate(Me.finicio.Text)
Dim FIN = CDate(Me.ffin.Text)

myConn.Open()
Dim result As New DataSet
Dim Actualiza As New FbDataAdapter("Select fecha, hora, from inventario where fecha between '" & INICIO & "' and '" & FIN & "'", myConn.ConnectionString)
Actualiza.Fill(result, "com_periodo")

Las fechas las recojo de un DateTimePicket

Me tira este error

conversión error from string "13/02/2012"

Muchas gracias en VFP yo usaba una función para la fecha llamada DTOC() que la convertía a string, pero aquí no se como hacerlo. Ya intente cosas como:

Dim dtFecha As DateTime = Me.finicio.Text
Dim INICIO = dtFecha.ToString("dd/MM/yyyy")

Pero me sigue mandando error.

1 Respuesta

Respuesta
1

No pases las variables como fecha, pasalas como string, el SQL o en tu caso el Firebird se encarga de la conversión.

Tampoco es necesario usar variables, así liberas memoria, haz algo así:

"Select fecha, hora, from inventario where fecha between '" & Me.finicio.Text & "' and '" & Me.ffin.Text & "'"

Me comentas como te fue.

si ya lo había intentado, pero me manda el mismo error

conversión error from string "13/02/2012"

me lo manda en

Actualiza.Fill(result, "com_periodo")

y no se porque

El tema va por Firebird, tienes que cambiar el formato de la fecha para que sea mm/dd/aaaa y se terminarán tus problemas.

Una forma rápida de hacerlo:

DateTime.Parse(Me.finicio.Text, new CultureInfo("en-US",True))

Si quieres lo guardas en una variable o lo asignas directo al Query.

Si lo asignas al Query directamente, agregale .ToString() al final para convertirlo en cadena de texto.

Superrr bien, como siempre te agradezco por compartir tus conocimientos.

Muchas gracias, al principio no me gusto que mataran al zorro y después de evaluar muchas opciones y llegar a .NET me doy cuenta que si tenían razón el zorro no daba para mas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas