Je voudrais trier une colonne dans le résultat d'une procédure stockée sans avoir à ajouter la clause Order By dans la procédure stockée. Je ne veux pas que les données soient triées après que j'ai exécuté la requête, le tri devrait faire partie de la requête si possible. J'ai le code suivant:Tri du résultat d'une procédure stockée
public static DataTable RunReport(ReportQuery query) { OffertaDataContext db = new OffertaDataContext(); Report report = (from r in db.Reports where r.Id == (int)query.ReportId select r).Single(); //???: check security clearance. DataSet dataSet = new DataSet(); /* doesn't work, I guess the "Result" table hasn't been created yet; if(!string.IsNullOrEmpty(query.SortField)) { dataSet.DefaultViewManager.DataViewSettings["Result"].Sort = query.SortField + " " + (query.SortAscending ? "ASC" : "DESC"); } */ using (SqlConnection conn = new SqlConnection(Config.ConnectionString)) { conn.Open(); using (SqlCommand exec = conn.CreateCommand()) { using (SqlDataAdapter adapter = new SqlDataAdapter()) { exec.Connection = conn; exec.CommandType = CommandType.StoredProcedure; exec.CommandText = report.ReportProc; adapter.SelectCommand = exec; try { adapter.Fill(dataSet, query.Skip, query.Take, "Result"); } catch (Exception e) { throw e; } finally { conn.Close(); } return dataSet.Tables["Result"]; } } } }
Comment ajouter un tri?
Merci! /Niels
vous dites « Je voudrais trier sur une colonne dans le résultat d'une procédure stockée sans avoir à ajouter la clause Order By dans la procédure stockée "et ensuite" le tri devrait faire partie de la requête si possible "! –