• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Сортировка Dataset

  • Автор темы Balda
  • Дата начала
B

Balda

Пишу в MS VS .NET 2003.
Нужно отсортировать данные в dataSet по значению первого столбца.
Пробую реализовать это так:
Код:
private void Sort(System.Data.DataSet ds)		
{			
System.Data.DataRow dr;

for(int i=0; i<ds.Tables[0].Rows.Count;i++) 
for(int j=i; j<ds.Tables[0].Rows.Count-1;j++)
if((System.DateTime)ds.Tables[0].Rows[j][0]>(System.DateTime)ds.Tables[0].Rows[j+1][0])
{ 				
dr = ds.Tables[0].Rows[j];

for(int k=0;k<ds.Tables[0].Columns.Count;k++)
{
ds.Tables[0].Columns[k].ReadOnly = false;
ds.Tables[0].Rows[j][k] = ds.Tables[0].Rows[j+1][k];
dr.RejectChanges();
ds.Tables[0].Rows[j+1][k] = dr[k];
}
}

}

Чтобы поменять строки dataSet местами надо куда-то сохранять одну из них. Я сохраняю в dataRow
Код:
dr = ds.Tables[0].Rows[j];

Но тогда возникает проблема: при изменении dataSet изменяеться также и dataRow, а при отмене изменений в dataRow
Код:
dr.RejectChanges();
отменяються и изменения в dataSet. В результате данные не сортируються.
Как быть?
 
B

Balda

В данной таблице отображаються данные личных дел сотрудников.
Эти данные вытягиваються запросами из разных таблиц БД.
Но в документе они должны быть отсортированы по дате.
 
E

etc

В данной таблице
В какой таблице? В DataTable? В DataTable никогда и ничего не отображаеться это только лишь контейнер для хранения информации.
Эти данные вытягиваються запросами из разных таблиц БД.
Но в документе они должны быть отсортированы по дате.
Почему не сортировать тоже в запросе? Всяко это быстрее.
Я спрашивал для чего именно клиентская.
 
Y

Young Programmer

наверное, проще в запросе сразу сделать сортировку и не мучаться. Или с помощью cвойства Sort класса DataView.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!