Как отобразить данные базы данных access в listview по дате в порядке убывания

#c# #winforms #listview #ms-access-2007

#c# #winforms #listview #ms-access-2007

Вопрос:

Я использую представление списка для отображения данных базы данных access.

Я являюсь столбцом с именем Date. в нем содержится более 360 дней, каждый из которых содержит данные

Пример даты, date format = yyyyMMdd. она отображается по возрастанию

 20111104

20111105

20111106

20111107

20111108
  

Я хочу отобразить данные по дате в порядке убывания следующим образом

 20111108

20111107

20111106

20111105

20111104
  

Я использую этот код для отображения данных access в виде списка.

  try
   {
            con.Open();
            DataTable dt = new DataTable();
            DataSet ds = new DataSet();
            ds.Tables.Add(dt);
            OleDbDataAdapter da = new OleDbDataAdapter("select * from MyTable", con);
            da.Fill(dt);
            int iRecords = 0;
            foreach (DataRow myrow in dt.Rows)
            {
                ListViewItem lItem = new ListViewItem();
                lItem.UseItemStyleForSubItems = false;
                lItem = listviewTargets.Items.Insert(iRecords, Date.ToString());
                //Note in the above line "Date.ToString" is written
                lItem.UseItemStyleForSubItems = false;
                // listviewTargets.Items.Add(myrow[2].ToString());
                lItem.SubItems.Add(myrow[0].ToString());
                lItem.SubItems.Add(myrow[3].ToString());
                lItem.SubItems.Add(myrow[14].ToString());
                lItem.SubItems.Add(myrow[4].ToString(), Color.White, Color.Green, lItem.Font);
                lItem.SubItems.Add(myrow[6].ToString());
                lItem.SubItems.Add(myrow[7].ToString());
                lItem.SubItems.Add(myrow[8].ToString());
                lItem.SubItems.Add(myrow[9].ToString());
                iRecords  ;
                lItem = listviewTargets.Items.Insert(iRecords, "");
                lItem.UseItemStyleForSubItems = false;

                //iRecords = iRecords - 1;
               // lItem.SubItems.Add("");
                lItem.SubItems.Add("");
                lItem.SubItems.Add("");
                lItem.SubItems.Add("");
                lItem.SubItems.Add(myrow[5].ToString(), Color.White, Color.Red, lItem.Font);
                lItem.SubItems.Add(myrow[10].ToString());
                lItem.SubItems.Add(myrow[11].ToString());
                lItem.SubItems.Add(myrow[12].ToString());
                lItem.SubItems.Add(myrow[13].ToString());
                iRecords  ;
            }
            //  gv_ViewAllEntries.DataSource = ds.Tables["MyTable"];
            con.Close();
        }
        catch (Exception)
        {
            con.Close();
        }
  

Заранее спасибо

Ответ №1:

 OleDbDataAdapter da = new OleDbDataAdapter("select * from MyTable order by [Date] desc", con);
  

Комментарии:

1. одну минуту, пожалуйста, я проверю это

2. благодаря его работе я хочу использовать OleDbDataAdapter da = new OleDbDataAdapter(«выбрать * из realtimedata, где (Name='» Name «‘)», con); с порядком, потому что также есть много имен

3. Затем, опять же, взгляните на ORDER BY и примените его самостоятельно.

4. В моем ответе уже есть предложение ORDER BY. Если вы хотите упорядочить разные запросы, пожалуйста, примените это предложение самостоятельно.

5. я очень новичок в базе данных ms access, можете ли вы сделать это для меня, я был бы очень признателен, если бы вы мне помогли