Cuando leo registros con campos fecha (Date o DateTime) de la tabla DBF, no tengo problemas, se lee perfectamente como un string. El formato es '10/10/2010'. El problema se presenta cuando quiero insertar o modificar dicho campo fecha (Date) da error, me dice que "El Proveedor actual no admite que una única ejecución devuelva multiples recordsets". Esto que es ? que quiere decir este mensaje ?
El codigo que he probado (en delphi) es el siguiente:
with DataModule1.ADOQuery_Importar do begin active:=false; connectionString:='Provider=VFPOLEDB.1;Data Source=C:\dirBD;Password="";Collating Sequence=MACHINE'; SQL.Clear; SQL.Add('INSERT INTO table2 (fecha) VALUES (:FECHA)'); Parameters.ParamByName('FECHA').Value := StrToDate('01/01/2010'); active:=true; end;
En el propio FoxPro, la sentencia para insertar un registro es la siguiente:
INSERT INTO table2 (fecha) VALUES (CTOD("11/10/2010"))
donde CTOD es un comando que convierte de caracter a Date
Esto mismo he hecho en Delphi y también da error
with DataModule1.ADOQuery_Importar do begin active:=false; connectionString:='Provider=VFPOLEDB.1;Data Source=C:\dirBD;Password="";Collating Sequence=MACHINE'; SQL.Clear; SQL.add('INSERT INTO table2 (fecha) VALUES (CTOD("11/10/2010"))'); active:=true; end;
Alguien sabe de que manera se puede grabar un campo fecha en una tabla DBF de FoxPro ??