Problema con datetime

Hola tengo un problema y llevo dando vueltas mucho rato.. No puedo insertar un dato de tipo fecha en un datetime de sql server 2005. El código es el siguiente. Ojala alguien pueda ayudarme..
Dim idrol As Integer
Dim vfechai As Date
idrol = 0
vfechai = Date + Time
rs.Open "INSERT INTO usuarios VALUES (" & tidusr.Text & ", '" & tnusr.Text & "', '" & tnusrl.Text & "', '" & tpwdusr.Text & "', '" & ttipousr.Text & "', '" & tpuesto.Text & "', " & idrol & ", '" & Test.Text & "'," & vfechai & ", " & vfechai & ", " & idrol & " )", conexion, adOpenDynamic, adLockOptimistic
ME DA EL ERROR: incorrect syntax near '01'.  ya probe diferentes soluciones.
si le quito el    Time  a     vfechai=date+time y solo pongo vfechau=date funciona bien pero solo me da la fecha y no la hora.
¿Cuál es la solución?
Respuesta
1
Si mal no recuerdo, aun cuando el datatype es DateTime cuando tu haces un insert en una tabla con dicho campo tu lo declaras como un string es decir
insert into tabla values('13/04/2010 16:08:00'), esta es la fecha y hora de mi equipo en el momento en el cual respondi a la pregunta, si lo que deseas es mandar la fecha y hora real cuando se inserta el registro, te recomiendo uses la funcion CURRENT_TIMESTAMP o GETDATE() del mismo SqlServer, por lo que en tu codigo en lugar de poner la variable:
& Test.Text & "'," & vfechai & ",
Tendria que ser : & Test.Text & "',CURRENT_TIMESTAMP ,'" &
Ahora bien, siento que tu problema es por que concatenas DATE + TIME, lo cual te da el valor '13/04/201016:08:00' que es una fecha errónea, se necesita un espacio entre fecha y hora.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas