Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: Maverich - Aprile 07, 2012, 02:28:12 pm

Titolo: problemi funzionamento Zeos
Inserito da: Maverich - Aprile 07, 2012, 02:28:12 pm
Progetto Test su Win7 64 Bit - Lazarus 32 bit (da CodeTyphon 2.50)
E' evidente non vado proprio d'accordo con i componenti Zeos. >:(

Quando imposto ZQuery Active = True, dopo qualche minuto va in crash (Lazarus ha smesso di funzionare)

per scrupolo ho copiato fbclient.dll (32 bit) nella directory del progetto test.

- ZConnection rel. 7.0.0-dev * imposto Protocol firebird 2.5
- ZQuery * SortType = StIgnored

ZQuery.Connection->ZConnection
ZQuery.DataSorurce->DataSource
ZQuery.SQL = SELECT * FROM TB_COMUNI - la tabella contiene circa 8.000 record)
DataSource.DataSet->ZQuery

ZConnection Active settato a True - funziona
ZQuery : riesco a recupereare i campi della Tabella indicata in SQL

Se uso i componenti SQLdb - non ho problemi
Titolo: Re:problemi funzionamento Zeos
Inserito da: Maverich - Aprile 07, 2012, 05:18:14 pm
Per la serie "stronzata delle stronzate ...." ::)  scoperto l'inghippo:

su ZQuery avevo impostato per errore la proprieta' DataSource;

questa deve restare vuota, c'e' gia' DataSource che punta a ZQuery.
Titolo: Re:problemi funzionamento Zeos
Inserito da: Maverich - Aprile 07, 2012, 06:54:44 pm
Quanto detto funziona su Lazarus32 con Firebird versione 32bit,
Non va con Lazarus64 + Firebird32 bit.  segnala che non trova fbclient25.dll, fbclient.dll

Ora una nuova rogna : TStoredProc

ho letto che per avere di ritorno un Parametro si deve chiamare Open e non ExecProc.

  ZStoredProc1.Close;
  // questo prorio non capisco a cosa serva
  ZStoredProc1.ParamByName('ID_ANAGRAFE').Value := '';

  ZStoredProc1.StoredProcName := 'CON_ID_ANAGRAFE';
  ZStoredProc1.Open;                 

quando esegue ZStoredProc1.Open, solleva eccezione
.. ha sollevato un'eccezione di classe  "External SIGSEGV"

qui mi serve l'aiuto dai conoscitori di Zeos

con i Componenti DBExpress TSQLStoredProc in Delphi la chiamo cosi'

function Tfrm_Dati_Anagrafe.Get_ID: integer;
begin
  //calcola progressivo
  SqlSp_Anagrafe.StoredProcName := 'CON_ID_ANAGRAFE';
  SqlSp_Anagrafe.ExecProc;
  Result := SqlSp_Anagrafe.Params[0].Value;
end;