如何指定将行插入SQL数据库的顺序?
e.g。我想按日期按降序插入我的记录。
cmd.CommandText = "select parkname,packname,duration,bookday from book where userid='"
+ Label15.Text + "' ORDER BY bookday DESC ";
rst = cmd.ExecuteReader();
rst.Read();
答案 0 :(得分:13)
不要担心您插入记录的顺序。
原因是,在使用SQL选择数据时,除非使用ORDER BY
子句,否则返回记录的顺序是不确定的。如果由于性能原因要维护表顺序,请在要排序的列上使用聚簇索引。
如果您只想按日期降序选择数据,请执行以下操作:
select MyColumn1, MyColumn2, MyDateColumn
from MyTable
order by MyDateColumn desc
答案 1 :(得分:1)
规范化关系数据库的一个特性是您无需担心订单。每一行都独立存在。如果切换2行,则数据仍然相同且含义相同。
您需要的是日期时间戳。在表中添加一个存储日期时间的字段,然后将该字段的默认值设置为GETDATE()。然后,无论何时进行插入,该行都将标记日期时间。然后,您可以在查询中使用Order by以正确的顺序显示数据。