/ / Pobieranie wyników z MySQL - c #, mysql, datatable

Pobieranie wyników z MySQL - c #, mysql, datatable

Próbuję wysłać zapytanie do bazy danych mySQL i chcę, aby wszystkie wiersze powracały w tablicy, która jest dostępna w podobny sposób.

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

Mój kod jest obecnie:

MySqlCommand cmd = new MySqlCommand(query, conn);

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

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

Mogę więc użyć wierszy [0] ["kolumna"], ale wiersze [1] są poza zasięgiem, tak jakby dt.Load nie skanował wszystkich wierszy i dodawał je do listy.

Odpowiedzi:

0 dla odpowiedzi № 1

Podaję ci pseudo kod, nie próbowałemaby go skompilować, ale powinien dać ci pomysł, na ogół nie używaj indeksów statycznych, takich jak „1”, aby uzyskać dostęp do drugiego wiersza w tabeli, lepiej mieć pętlę lub inne dynamiczne podejście, które zawsze działa niezależnie od liczby rejestruje zwrot zapytania.

spójrz na to, pomijając obsługę wyjątków dla zwartości

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
}
}