Originariamente inviato da manu.aretuseo
In questo caso ho usato un ADOCommand...
Cmq scusa, non è per scartare le tue soluzioni...il problema è che qua accanto a me c'è il mio supervisore che alle 19.00 mi controlla il lavoro...mi sembrava che con SubString la soluzione fosse meno efficente, ma per me più veloce perchè a corto di conoscenze. non ti arrabbiare please...
Già che sei controllato, meglio fare una bella figura, no? 
Quando esegui delle query, puoi inserire parametri all'interno della query che andrai a valorizzare successivamente.
Ad esempio, nella proprietà CommandText puoi inserire uno statement SQL simile al seguente:
codice:
INSERT INTO TableName (FieldName)
VALUES (:ParamName)
Il valore preceduto dai due punti ( : ) è un parametro, e può essere valorizzato prima di eseguire il comando, cioè prima di invocare il metodo Execute del componente.
codice:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOCommand1.Parameters.ParamByName('ParamName').Value := 'SampleValue';
ADOCommand1.Execute();
end;
(perdona lo script in Delphi, ma è per rendere l'idea
Ci sono molti vantaggi in questo approccio:
- puoi scrivere la query in fase di progettazione (designtime), senza concatenare comandi e valori a runtime, rompendoti la testa;
- il parametro può essere anch'esso valorizzato a designtime per questioni di test, ad esempio per controllare che una query restituisca i valori appropriati;
- alcuni driver sono in grado di "precompilare" le query e fare in modo che le successive chiamate siano più rapide; usando i parametri, si informa il motore ADO che verrà modificato solo il valore delle variabili dello statement e non la sostanza, quindi è possibile ricadere in questa casistica;
- assegnando i valori dei parametri senza doverli convertire in stringa, gestire i formati internazionali e così via, si aumenta la sicurezza dell'applicazione e i "dolori di pancia".
Prova e poi mi dirai...