Ciao a tutti,
eseguo una IBQuery premendo un pulsante e ne visualizzo il suo risultato in una DBGrid.
questo codice funziona bene, se DBEdit1.Text e' = '' vengono visualizzati tutti i record della tabella Movimenti, se invece DBEdit1.Text e' = '13' vengono visualizzati solo i record del fornitore '13'......qui e' tutto ok!codice:IBQuery1.Close; IBQuery1.SQL.Clear; IBQuery1.SQL.add('SELECT *'); IBQuery1.SQL.add(' from Movimenti'); if DBEdit1.Text <> '' then begin IBQuery1.SQL.add(' where'); IBQuery1.SQL.add(' fornitore like :PARAM1 '); IBQuery1.ParamByName('Param1').AsString:= DBEdit1.Text ; end; IBQuery1.SQL.Add(' ORDER BY data'); IBQuery1.Open ;
...e' nata l'esigenza di poter modificare i valori di questa query, quindi ho sostituito l'oggetto IBQuery con un Oggetto IBdataset.
con questo codice se DBEdit1.Text e' = '' vengono visualizzati tutti i record della tabella Movimenti, se invece DBEdit1.Text e' = '13' non viene ottenuto alcun risultato! IBdataset e' vuoto!codice:IBDataset1.Close; IBDataset1.SelectSQL.Clear; IBDataset1.SelectSQL.add('SELECT *'); IBDataset1.SelectSQL.add(' from Movimenti'); if DBEdit1.Text <> '' then begin IBDataset1.SelectSQL.add(' where'); IBDataset1.SelectSQL.add(' fornitore like :PARAM1 '); IBDataset1.ParamByName('Param1').AsString:= DBEdit1.Text ; end; IBDataset1.SelectSQL.Add(' ORDER BY data'); // mia:= IBdataset1.selectsql.text; IBDataset1.Open ;
come se avesse problema con il parametro che gli passo.
ho controllato con il debugger il valore IBdataset1.selectsql.text e questo era = 'select * from fornitori where fornitore like :PARAM1 ORDER BY data'
a voi e' capitato mai?
grazie

Rispondi quotando