Ciao ragazzi,
sono nuovo di C# ma conosco il Java, e sono sorpreso dalle somiglianze tra questi due linguaggi! La gestione degli ArrayList è abbastanza diversa, ed infatti è lì che ho incontrato i primi problemi.
Situazione: Query su un database, estraggo un record alla volta, ogni record lo faccio diventare un array di stringhe dove ogni stringa è un campo del record, poi infilo ogni record in un arraylist.
Alla fine, ottengo che l'arraylist è riempito sempre con lo stesso valore, e non capisco quale è il problema: se nella stampa o nel riempimento.
Il codice: [ Creazione dell'ArrayList]
codice:
SqlDataReader myReader = cmd.ExecuteReader();
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);
}
}
tot.Add(rec);
}
Stampa:
codice:
for (int i = 0; i < tot.Count; i++) {
string[] value = tot[i] as string[];
Console.WriteLine(value[0]); }
Grazie a chiunque volesse darmi una mano....