Yo lo haría con un datareader y una clase definida (con las columnas que hay) y utilizar una coleccion mediante generics..
ejemplo:
Código:
public class MyCustomRow {
private string m_myvalue1;
private string m_myvalue2;
public string MyValue1 {
get { return this.m_myvalue1; }
set { this.m_myvalue1 = value; }
}
public string MyValue2
{
get { return this.m_myvalue2; }
set { this.m_myvalue2 = value; }
}
public MyCustomRow(string myvalue1, string myvalue2) {
this.MyValue1 = myvalue1;
this.MyValue2 = myvalue2;
}
}
...
...
System.Collections.Generic.IList<MyCustomRow> rows = new System.Collections.Generic.IList<MyCustomRow> ();
if (dr.Read()) {
rows.Add(new MyCustomRow(dr["columna1"].ToString(), dr["columna2"].ToString()));
}
y con ello ya tienes toda la fila en tu clase para utilizarla donde quieras
espero haber sido claro
salu2