[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