PDA

Visualizza la versione completa : [DELPHI] Uso dell'oggetto TQuery a runtime


nuvolina
15-04-2009, 22:41
Ciao ragazzi,

mi Ŕ venuto un dubbio sull'utilizzo dell'oggetto TQuery. Nei vari esempi che sono riportati sul manuale che uso solitamente, viene usato un oggetto TQuery ogni volta che si desidera fare una query "diversa" (con codice diverso) usando la proprietÓ SQL in cui viene scritto il testo della query. Io invece solitamente la scrivo da codie facendo:

Qry.Close;
Qry.SQL.Clear;
Qry.SQL.Add:='testo della query';
Qry.open;

se utilizzo questo metodo teoricamente sulla mia form posso avere un solo oggetto TQuery, anche se in realtÓ uso l'oggetto in pi¨ punti del mio codice cambiando di volta in volta il testo della query (agendo sulla proprietÓ Qry.SQL.Add).
L'usare ogni volta un oggetto TQuery forse serve nel momento in cui uso Tdatasource per poi effettuare la visualizzazione del risultato della queri in un oggetto come un TDBgrid.

Pu˛ essere una deduzione esatta?

ciao grazie

mondobimbi
15-04-2009, 22:55
Tquery Ŕ un componente visuale e quando lo usi come tale normalmente la query Ŕ giÓ inserita in fase di progetto eventualmente utilizzando le proprietÓ che modificano l'accesso dei dati in funzione di variabili esterne.

Se ti serve utilizzare il compenente per valutare una query "al volo" Ŕ meglio, secondo me, creare una istanza di un oggetto TQuery a run time




var
query : TQuery;
begin

query := TQuery.Create (nil);

query.SQL.Add(' ..... ' );
query.Open;

query.Free;

end;

nuvolina
29-04-2009, 23:03
Ciao ho creato una istanza della query a run time, ora per˛ delphi mi segnala un errore dicendo che le tabelle che utilizzo nelle mie query non sono conosciute.
sulla mia form vi sono tre oggetti Ttable (dove ho impostato le proprietÓ databasename, tablename,active a true) e tre oggetti tdatasource(dove ho impostato i corrispondenti tdataset). Ovviamente ho creato anche la connessione (origine dati ODBC)

sai quale pu˛ essere il problema

ciao grazie

123delphi321
03-05-2009, 13:48
ciao,

il componente Tquery ha la proprieta Database nel quale va indicato il nome del database su cui effettuare l'operazione.

ciao

Loading