humm ... doppio ciclo... bruttino ...

se puoi cerca sempre di evitarli i doppi cicli.

al posto di usare quella query potresti :

1-estrai le righe del file(lo hai fatto)
2-fai una query con un where
SELECT COUNT(prezzo) FROM tabella WHERE codice = 'codicenelfile[indice]';

cosi che se ti restituisce un record lo aggiorni altrimenti lo inserisci