/ / Obteniendo resultados de MySQL - c #, mysql, datatable

Obteniendo resultados de MySQL - c #, mysql, datatable

Estoy intentando consultar mi base de datos mySQL y quiero que todas las filas vuelvan en una matriz a la que se pueda acceder de una manera similar.

rows[0]["column"]
rows[1]["column"].

Mi código es actualmente:

MySqlCommand cmd = new MySqlCommand(query, conn);

var dt = new DataTable();
dt.Load(cmd.ExecuteReader());

var rows = dt.AsEnumerable().ToArray();

Así que puedo usar las filas [0] ["columna"] pero las filas [1] están fuera de alcance, como si el dt.Load no haya escaneado todas las filas y las haya agregado a la lista.

Respuestas

0 para la respuesta № 1

Te doy un pseudo código aquí, no lo intentépara compilarlo, pero debería darle una idea, en general, no use índices estáticos como "1" para acceder a la segunda fila de la tabla, es mejor tener un bucle o algún otro tipo de enfoque dinámico que siempre funcionaría sin importar cuántos registra su consulta devuelve.

mira esto, omitido el manejo de excepciones por la compacidad

using(var conn = new MySqlConnection(connectionString))
using(var cmd = conn.CreateCommand())
{
conn.Open();
cmd.ComamndText = query;

var adp = new MySqlDataAdapter(cmd);

var dt = new DataTable();
adp.Fill(dt);

// here you can use the table"s rows array to retrieve results
// for example

foreach (var row in dt.Rows)
{
//Do what you want now with this row
}
}