Tu lis une ligne row, et tu utilises ensuite row[2] ; A mon avis, row[2] représente au mieux le 3ème caractère de la ligne ... ou plutôt, row[2] représente une autre chaine, qui n'a jamais été...