我有一个工资表,其中我存储了相应的月、年和付款日期的工资详细信息。我在我的ASP.net c#应用程序的gridview中显示这些数据。我想在第一页显示最新的数据。
下面是我的薪资数据库示例:
+------------+-------+----------+------+----------+------+-------------+
| EmployeeID | Gross | TotalDed | Net | Month | Year | paymentdate |
+------------+-------+----------+------+----------+------+-------------+
| 2066 | 2219 | 3750 | 1531 | January | 2016 | 30.01.2016 |
| 2023 | 2218 | 1649 | 570 | January | 2016 | 30.01.2016 |
| 2001 | 2219 | 3750 | 1531 | October | 2015 | 30.10.2015 |
| 2023 | 2218 | 1649 | 570 | October | 2015 | 30.10.2015 |
| 2034 | 2328 | 5728 | 3400 | October | 2015 | 30.10.2015 |
| 2023 | 2218 | 1649 | 570 | November | 2015 | 30.11.2015 |
| 2030 | 2219 | 1550 | 669 | November | 2015 | 30.11.2015 |
| 2047 | 2218 | 1649 | 570 | November | 2015 | 30.11.2015 |
| 2031 | 2219 | 8450 | 6231 | December | 2015 | 30.12.2015 |
| 2057 | 2219 | 8450 | 6231 | December | 2015 | 30.12.2015 |
| 2023 | 2218 | 1649 | 570 | December | 2015 | 30.12.2015 |
+------------+-------+----------+------+----------+------+-------------+
我希望此表以分页方式显示在gridview中。
String sQuery = @"SELECT EmployeeID,GrossSalary,TotalDed,NetSalary,Month,Year,paymentdate
FROM salary ";
MySqlDataAdapter ada = new MySqlDataAdapter(sQuery, GlobalCS.objMyCon);
using (DataTable dt = new DataTable())
{
ada.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
但它显示的是最新到最后一页。
如果我用
SELECT EmployeeID,GrossSalary,TotalDed,NetSalary,Month,Year,paymentdate FROM salary order by Paymentdate
然后显示2016年1月、2016年10月、2016年11月、2016年12月。
但我想展示的是2016年1月、2015年12月、2015年11月、2015年10月
我试过了
SELECT EmployeeID,GrossSalary,TotalDed,NetSalary,Month,Year,paymentdate FROM salary order by month and year
输出是所有数据的混合。那我怎么才能得到呢?
最佳答案
如果Paymentdate
是string
数据类型,则order by Paymentdate
将结果按Lexicographical order
顺序排列。
在订货前将Paymentdate
转换为date
。
SELECT
`EmployeeID`,
`GrossSalary`,
`TotalDed`,
`NetSalary`,
`Month`,
`Year`,
`paymentdate`
FROM salary
order by STR_TO_DATE(`paymentdate`,'%d.%m.%Y') DESC
sql fiddle demo
注意:-将
date
数据存储在string
数据类型而不是date
数据类型中是一种不好的做法关于c# - 在mysql和gridview中按年份和日期排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34627469/