#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, можете ли вы сделать это для меня, я был бы очень признателен, если бы вы мне помогли