[Lazarus-es] fdb a sqlite
Maxi
maximiliano.duarte en gmail.com
Lun Oct 21 18:36:58 CEST 2013
Al final no pude, el paso de structuras de una consulta Fb a otra Sqlite,
no funciona, y tuve que hacer un generador de consultas pra crear la tabla
como un script y le paso con un zSqlProcessor el texto.
Se me jhace que no está soportado por la zeos porque vi ejemplos en delphi
con otros componentes en que tiene el metodo createdataset y si lo hace.
Te dejo esto por si te sirve. Es algo rudimentario pero me sirvio para
exportar los datos y enviar por ftp.
Function TmNovedades.DevolverTipo(field:TFieldDef):String;
Begin
case Field.DataType of
ftString,ftWideString: Result:= 'VARCHAR('+ inttostr(Field.Size)
+')';
ftDate,ftDateTime : Result:= 'DATE';
ftTime,ftTimeStamp: Result:= 'TIME';
ftInteger,
ftSmallint,
ftShortint : Result:= 'INTEGER';
ftMemo,ftBlob : Result:= 'BLOB';
ftCurrency,ftFloat: Result:= 'NUMERIC( 15, 2 )';
ftBoolean : Result:= 'BOOLEAN';
end;
Result:= Field.Name + ' ' + Result;
End;
Function TmNovedades.CrearTablaTurnos:String;
var
i:integer;
s,f:string;
Begin
try
zqInformarTurnos.Open;
for i:=0 to zqInformarTurnos.FieldDefs.Count-2 do
f:=f+Format(' %s ',[DevolverTipo(zqInformarTurnos.FieldDefs[i])] )+ '
, ';
f:=f+Format(' %s
',[DevolverTipo(zqInformarTurnos.FieldDefs[zqInformarTurnos.FieldDefs.Count-1])]);
s:=format('CREATE TABLE TURNOS (%s);',[f]);
finally
zqInformarTurnos.Close;
Result := s;
end;
End;
--
El que pregunta aprende, y el que contesta aprende a responder.
No a la obsolecencia programada:
http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml
Linux User #495070
http://domonetic.com/blog
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20131021/ac465074/attachment-0002.html>
More information about the Lazarus-es
mailing list