0

我正在使用MS-Access,我只是想从中检索数据。

很好,安静工作得很好,现在我需要database根据首先插入的数据来检索数据。

例如

在此处输入图像描述

上图中是我的MS-Access数据库。

如果我检索数据并通过List包正常打印它会显示如下图的输出

在此处输入图像描述

顺序变了...

它是如何发生的,我没有使用任何where函数和所有......那么为什么行的顺序会改变......同时检索......!!

任何建议将不胜感激..

4

4 回答 4

3

在将数据保存到数据库时,不能保证数据按插入的顺序排序。因此,在检索它时,不能保证可以在插入的订单上检索它。

为此,您可以拥有一个顺序主键或拥有一个带有时间戳的字段。

检索时,您可以将任一字段用作条件子句和 order by 子句,以按所需顺序检索行。

编辑:我相信已经提供了答案。重申答案

方案一:在插入数据的同时,在表中添加一个顺序主键列,该列会自增1。可以通过在where子句中指定顺序主键来获取数据。

解决方案 2:在添加数据时将 Datetime 类型的列添加到表中,插入时间的时间戳将插入列中(如果您编写了触发器或 getdate() 作为默认值),同时检索使用 order by 子句在时间戳上

于 2013-09-13T12:48:28.130 回答
2

随时检索具有相同输出顺序的排序数据的唯一方法是使用ORDER BY子句

于 2013-09-13T12:46:47.577 回答
1

不保证从数据库中检索按插入顺序进行,要按插入顺序检索记录,您可能必须在插入记录时保存时间戳,并在检索时按时间戳列排序

于 2013-09-13T12:40:40.393 回答
0

如果您确定该Id列会自动递增,只需添加到用于检索数据的查询中ORDER BY Id ASC

于 2013-09-13T12:46:53.540 回答