J'adapte du code que quelqu'un d'autre a écrit et j'ai besoin de retourner un DataTable pour gagner du temps.
J'ai un code comme celui-ci:
using (SqlCommand command = new SqlCommand(query, conn))
{
//add parameters and their values
using (SqlDataReader dr = command.ExecuteReader())
{
return dr;
}
Mais quelle est la meilleure façon de renvoyer une table de données?
Utilisez la méthode DataTable.Load pour remplir votre table avec les valeurs du SqlDataReader:
using (SqlDataReader dr = command.ExecuteReader())
{
var tb = new DataTable();
tb.Load(dr);
return tb;
}
En utilisant un DBDataAdapter
extrait de la documentation ms
// Create the DbDataAdapter.
DbDataAdapter adapter = new DbDataAdapter();
adapter.SelectCommand = command;
// Fill the DataTable.
DataTable table = new DataTable();
adapter.Fill(table);