La Web del Programador: Comunidad de Programadores
 
    Pregunta:  28817 - CONEXIONES SQL SERVER - ADO
Autor:  Nomar medina
Soy programador de Visual Foxpro y estoy trabajando actualmente con conexiones a sql mediante ADO, pero presento errores a intertar guardar archivos de tipo datetime() la verdad no sé en que estoy fallando le sabria agradecer a quien pudiera ayudarme con las rutinas de guardar eliminar y modificar a través de sql server.
agradecido de antemano.

StrSql = "INSERT INTO CA_TURNOS (COD_TURNO, NOMBRE_TUR, ENTRADA, SALIDA) VALUES ('&NRO1', '&NB', '&ENTRA', '&SALE')"
ConBD.Execute(StrSql)
rsPrep.Requery

en donde todas las variables están con macrosustitución pero me acepta hasta los numéricos y los flotantes pero no me acepta los de tipo datetime

  Respuesta:  Luis Rodríguez
Yo tuve el mismo problema, te recomiendo que uses la función convert que es nativa del SQLServer (si es SQL Server lo que estas usando). Esto sería así

cSQL = "insert into mitabla(campoID, campofecha) values('1', convert(datetime,'"+ cVariabletipodatetime+"'))"

La función datetime convertirá el dato (tipo carácter por ello es importante combinar correctamente las " y las ' o los [ ] ) que es el segundo parametro al formato indicado en el primer parametro. A mi me funciono de maravílla, según vi también hay otra función llamada "cast" habría que ver cual produce mejores resultados en una u otra situación

  Respuesta:  Miguel Natividad
Un error comun es que el formato fecha en SQL Server no es el mismo que el de la aplicacion que envia los parametros. Tal vez tengas que variar el formato de la fecha en VFP antes de enviar ese parametro a SQl Server.