codice:
qleggicampochar.SQL.Add('SELECT :chiave,:Camporit');
qleggicampochar.SQL.Add(' FROM :tabella');
qleggicampochar.SQL.Add(' WHERE :chiave = :ValChiave');
Corretto:
codice:
qleggicampochar.Close;
qleggicampochar.SQL.Clear;
qleggicampochar.SQL.Add(' SELECT ' + chiave + ' , '+ Camporit +');
qleggicampochar.SQL.Add(' FROM ' + tabella + ' );
qleggicampochar.SQL.Add(' WHERE ' + chiave + '= :ValChiave_In');
qleggicampochar.ParamByName ('ValChiave_In').asVariant :=ValChiave;
qleggicampochar.Open;
Fai attenzione alla distinzione tra "passaggio di parametri ad una funzione" e "passaggio di parametri ad una query".
Attraverso il metodo ParamByName assegni alla variabile ValChiave_In' il valore desiderato .
Ricordati che una query o la esegui (ExecSQL) o la apri (Open), usare entrambe le chiamate é uno spreco di lavoro per il server.