Innanzitutto ti ringrazio per la risposta.
In effetti sono stato poco chiaro nella domanda.
Nella domanda ho riportato il codice della stampa che sto usando per testare, stampa solo il primo valore dell'array estratto, cioè la chiave primaria; stampa sempre lo stesso valore!
Per curiosità ho provato ad usare il tuo codice, e confermo che il programma stampa n volte lo stesso record, dove n è il numero dei record estratti con la query.
A questo punto il problema forse è nell'inserimento dei valori, ma, facendo così:
codice:String[] rec = new String[11]; ArrayList tot = new ArrayList(); while (myReader.Read()) { for (int p = 0; p < 11; p++) { Console.WriteLine("Entro nel for"); if (p == 0||p==1||p==2||p==3||p==4) rec[p] = myReader.GetString(p); else if (p == 5 || p == 7 || p == 9) { SqlDateTime temp = myReader.GetSqlDateTime(p); rec[p] = temp.ToString().Substring(0, 10); } else if (p == 6 || p == 8 || p == 10) { SqlDateTime temp = myReader.GetSqlDateTime(p); rec[p] = temp.ToString().Substring(11, 8); } Console.WriteLine("indice: " +p +" valore: "+rec[p]); } Console.WriteLine("Fuori dal for, aggiungo il record"); tot.Add(rec); }
Le Console.WriteLine() stampano i valori corretti..salvo poi ritrovarmi, nella stampa per la verifica, un araylist con n record (n= numero di record estratti) uguale all'ultimo!!
Il mistero si infittisce......

Rispondi quotando