Inserimento valori in un foglio excel

di il
0 risposte

Inserimento valori in un foglio excel

Ciao a tutti.

devo inserire alcuni valori presi da una query su un database sqlite in un foglio excel.

ho un componente tadoconnection che “punta” ad un file excel tramite odbc.

un altro componente tadocommand che uso per creare i fogli.

ho questa istruzione per creare il foglio:

  ExportCmd.Parameters.Clear;
  ExportCmd.CommandText :=
            Format('Create Table %s ' +
                   '(%s string , %s string, %s string, %s string, %s integer, %s integer, ' +
                   '%s string, %s double, %s double, %s integer, %s double, ' +
                   '%s double, %s double, ' +
                   '%s double, %s double, %s double, %s double, ' +
                   '%s double, %s double, %s double, %s double)',
   [cTN_TestDetails,
    cTF_TD_Customer, cTF_TD_Press, cTF_TD_PU, cTF_TD_Job, cTF_TD_TestId, cTF_TD_TestType,
    cTF_TD_TestName, cTF_TD_StartTime, cTF_TD_EndTime, cTF_TD_PaperWidth, cTF_TD_StartPaperLen,
    cTF_TD_EndPaperLen, cTF_TD_PaperLen,
    cTF_TD_StartInkWeight, cTF_TD_EndInkWeight, cTF_TD_RefillInkWeight, cTF_TD_InkConsumption,
    cTF_TD_StartSolWeight, cTF_TD_EndSolWeight, cTF_TD_RefillSolWeight, cTF_TD_SolConsumption]);
  ExportCmd.Execute;

e fin qui sembra funzionare, il problema è nell' inserimento dei dati.

 cmdStr := Format('INSERT INTO %s (' +
                       '%s)'+
                        'VALUES(' +
                       ':pPress)',
     [cTN_TestDetails,
      cTF_TD_Press]);
      ExportCmd.Parameters.Clear;
      ExportCmd.CommandText := cmdStr;
      ExportCmd.Execute;      
      ExportCmd.Parameters.parambyname('pPress').value := FDqryExport.FieldbyName('Press').VALUE;      

Dove FDqryExport è una query firedac che punta sul database sqlite.

Per semplificare ora sto inserendo solo un campo, ma quando esegue l istruzione ExportCmd.Execute;  ricevo l'errore “tipo di dato non valido”..

ho provato anche a modificare FDqryExport.FieldbyName('Press').VALUE  con FDqryExport.FieldbyName('Press').asstring , ma stesso errore,

Ho pero' notato che se faccio l inserimento su un campo integer o double allora funziona, insomma il problema sembra essere “solo” sui campi string.

ho provato a sostituire "string" con “text”, ma ricevo lo stesso errore..

qualche suggerimento su come risolvere?

grazie mille

Devi accedere o registrarti per scrivere nel forum
0 risposte