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