Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Importando datos de Excel a FB 3.0 (https://www.clubdelphi.com/foros/showthread.php?t=91111)

Hyepiz 13-11-2016 18:42:19

Importando datos de Excel a FB 3.0
 
Estimados Todos:

Estoy tratando de importar los datos de una hoja en Excel, a una Base de datos Firebird 3.0 , estoy usando Delphi X10, el asunto es que leo los datos de excel, si los ppongo en una listview, todo perfecto. Peeero al tratar de ponerlos en una tabla (ConceptosTable), es donde viene el problema. el codigo que tengo es :

Código Delphi [-]
Hoja:= Excel.Worksheets.Item[1] as _WorkSheet;

  i:= 2;
  si:= IntToStr(i);
  repeat
    with ConceptosTable do
    begin
      Close;
      SQL.Clear;
      SQL.Add('INSERT INTO ConceptosTable (CVE_CPTO, CONCEPTO, UD, PUBASE, PU1,PU2, PU3, CVE_CAT) VALUES (:CVE, :CPTO, :UD, :BASE, :P1, :P2, :P3, :CAT)');

      ParamByNAme('CVE').AsString:= Hoja.Range['A'+si, 'A' + si].Value2;//Clave
      ParamByName('CPTO').AsBlob := Hoja.Range['B'+si, 'B' + si].Value2;//Concepto
      parambyname('UD').AsString:= Hoja.Range['C'+si, 'C' + si].Value2;//Unidad
      ppb:= Hoja.Range['D'+si, 'D' + si].Value2;// P Base

      ParamByName('BASE').asfloat := strtofloat(ppb);

      pp1:=  Hoja.Range['E'+si, 'E' + si].Value2;
      ParamByName('P1').AsFloat:= strtofloat(pp1);// P1
      pp2:= Hoja.Range['F'+si, 'F' + si].Value2;// P2
      ParamByName('P2').AsFloat:= strtofloat(pp2);
      pp3:=  Hoja.Range['G'+si, 'G' + si].Value2;// P3
      ParamByName('P3').AsFloat:= strtofloat(pp3);

      ParamByName('CAT').AsString:= Hoja.Range['F'+si, 'F'+si].Value2;//Categoria

      Prepare;

      Open;

    end;

    inc(i);
    si:= IntToStr(i);

  until ( VarType ( Excel.Range['A'+si, 'A'+si].Value2) = VarEmpty);

cuando sale de la asignacion de CAT, en el Prepare, truena el programa y me marca el error:

Cita:

[FireDAC][Phys][FB]Dynamic SQL Error SQL error code = -204
.... De antemano agradezco su ayuda ^\||/

Hyepiz 13-11-2016 18:52:37

Olvidé mencionar que en la Forma tengo los componentes TExcelApplication conectado al archivo de Excel, FDConnection a la Base de datos y FDQuery a la Tabla CONCEPTOS.

Gracias

jhonny 13-11-2016 19:06:49

¿Sólo sale eso en el error?, es que el 204 normalmente sucede cuando la tabla es desconocida, aunque también sucede en otros casos (Como tipo de datos incorrecto, procedimiento desconocido...) pero viene acompañado el código de error, con su respectivo mensaje, algo como...

Cita:

table unknown
Para mí que ConceptosTable no existe y simplemente es Conceptos.

Hyepiz 13-11-2016 19:19:15

Tienes toda la razón jhonny

la tabla ConceptosTable no existe, es el nombre del TQuery.... la tabla es CONCEPTOS!!!

Gracias!!!

jhonny 13-11-2016 19:25:59

Cita:

Empezado por Hyepiz (Mensaje 510702)
Tienes toda la razón jhonny

la tabla ConceptosTable no existe, es el nombre del TQuery.... la tabla es CONCEPTOS!!!

Gracias!!!

¡Genial!, me alegra :).


La franja horaria es GMT +2. Ahora son las 19:38:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi