问题描述
|
如何指定将行插入sql数据库的顺序?
例如我想按日期降序插入记录。
cmd.CommandText = \"select parkname,packname,duration,bookday from book where userid=\'\"
+ Label15.Text + \"\' ORDER BY bookday DESC \";
rst = cmd.ExecuteReader();
rst.Read();
解决方法
不用担心插入记录的顺序。
原因是,当使用SQL选择返回数据时,除非使用
ORDER BY
子句,否则返回记录的顺序不确定。如果出于性能原因要维护表顺序,请在要作为排序依据的列上使用聚簇索引。
如果只希望按日期降序选择数据,请执行以下操作:
select MyColumn1,MyColumn2,MyDateColumn
from MyTable
order by MyDateColumn desc
,标准化关系数据库的功能之一是您不必担心顺序。每行独立。如果在两行之间切换,则数据仍然相同并且具有相同的含义。
您需要的是日期时间戳。在表中添加一个存储日期时间的字段,然后将该字段的默认值设置为GETDATE()。然后,每当您执行插入操作时,该行就会被加时间戳。然后,您可以在查询中使用Order by以正确的顺序显示数据。