繁体   English   中英

按日期降序排序

[英]sort date into descending order

我希望默认情况下在Gridview中以降序显示日期。

DataTable dt = new DataTable();
SqlDataAdapter adp = 
   new SqlDataAdapter("SELECT Customer.CustomerID, Customer.lastname, Customer.firstname, 
                              Ticket.Date, Ticket.Store, Ticket.Amount, Ticket.NoStub " +
                      "FROM Customer INNER JOIN Ticket ON Customer.CustomerID = Ticket.CustomerID 
                       WHERE Customer.CustomerID like " + txtCustomerID.Text, cn);
adp.Fill(dt);
gvHistory.DataSource = dt;

只需添加:

 order by Ticket.Date desc

到你的sql语句的末尾,如下所示:

DataTable dt = new DataTable();
        SqlDataAdapter adp = new SqlDataAdapter("SELECT Customer.CustomerID,             Customer.lastname, Customer.firstname, Ticket.Date, Ticket.Store, Ticket.Amount, Ticket.NoStub " +
                                                "FROM Customer INNER JOIN Ticket ON Customer.CustomerID = Ticket.CustomerID WHERE Customer.CustomerID like " + txtCustomerID.Text + " order by Ticket.Date desc", cn);
        adp.Fill(dt);
        gvHistory.DataSource = dt;

正如@Adels的回答,你可以通过改变你的sql语句来订购,如果你想通过代码来做。 尝试DataGridView.Sort方法如下

gvHistory.Sort(gvHistory.Columns["ColumnName"], ListSortDirection.Descending);
  1. 我建议在数据网格上使用Sort函数,就像Damith推荐的那样
  2. 不要直接将用户参数放入SQL语句中 您必须使用WHERE Customer.CustomerID like @customerId ,然后在命令中添加一个参数,其中name = @customerId and value = txtCustomerID.Text 这1)防止用户输入破坏数据库,2)防止膨胀SQL计划缓存。
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.SqlClient.SqlDataAdapter adp = new System.Data.SqlClient.SqlDataAdapter(
                      "SELECT Customer.CustomerID,
                              Customer.lastname, 
                              Customer.firstname, 
                              Ticket.Date, 
                              Ticket.Store, 
                              Ticket.Amount,
                              Ticket.NoStub " +
                      "FROM Customer INNER JOIN Ticket ON 
                              Customer.CustomerID = Ticket.CustomerID WHERE         
                              Customer.CustomerID like " + txtCustomerID.Text + " 
                              order by Ticket.Date desc", cn);
adp.Fill(dt);
gvHistory.DataSource = dt;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM