怎样使插入的数据严格按照插入顺序排序?
现在做的一个程序是接收串口的数据,每收到一组数据insert一组,每组都有id号,递增。但是保存后的表在access中打开后看到的顺序并非完全是按照1,2,3,4……这样的顺序显示的。现在用户要求一定要按此顺序显示,因为用户调用这个数据库中数据时直接按照显示的顺序,不按我程序中的id号,我也没法在用户调用的程序中去加个order by.但是不知道access中没有按插入顺序显示到底是程序的问题还是access本来就不保证显示的数据按插入数据的顺序。怎样可以做到在access中打开表后看到的元组顺序是和插入的顺序严格对应的呢?谢谢 问题点数:0、回复次数:8Top
1 楼Kyrin(天梦流云)回复于 2003-12-04 12:50:47 得分 0
你可以增加一个自动编号字段呀,这样,每插入一个记录都有一个递增的数值,不就能保证按插入顺序排序了?Top
2 楼rongwenfeng(驿)回复于 2003-12-04 13:52:44 得分 0
对啊,自动编号可以啊,检索的时候也什么也不写就可以了Top
3 楼vivxjtu(viv)回复于 2003-12-04 14:24:38 得分 0
没用的,加自动编号打开表的时候里面的内容一样会有不按顺序排列的情况,和我自己加的序号一样。元组内容没有错,但是打开后显示的位置有变化。现在只是要求显示的位置就按照序号的顺序下来。Top
4 楼vivxjtu(viv)回复于 2003-12-04 14:30:31 得分 0
我现在是无法做排序的,其实我觉得我只管保证把数据正确存进数据库,应该是用户调用数据的时候自己order by一下,需要什么就怎么取就是了。我觉得数据在数据库里放在什么地方都是没有关系的。但问题是现在用户就是要求打开access看到数据按序号升序排列,就是这个要求。但是我也不知道为什么,是按序一组组插入的,但是打开时不一定是按这个顺序排列的。但是我又不能要求用户自己去order by一下。Top
5 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2003-12-04 22:33:06 得分 0
规定字段加索引即可
http://access911.net/index.asp?board=4&recordid=73FABE1E13DCTop
6 楼vivxjtu(viv)回复于 2003-12-12 16:10:28 得分 0
changechange(改了又改)提供的连接打不开,可以帮忙贴一下吗?Top
7 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2003-12-13 15:31:43 得分 0
你现在的位置:文章索引 -> 文章分类 -> 表
如何在任意位置插入记录?
作者:ec 更新日期:2003-4-5 浏览人次:94
专题地址:http://access911.net/index.asp?board=4&recordid=73FABE1E13DC
如何在任意位置插入记录?
我们平时使用 ado的 recordset.addnew或者用 sql语句 insert into...来添加数据的时候,记录总是被添加在表的最后一行,如何才能把记录插入到其中某条记录的前面那?
我们先要来看一下显示记录的时候是如何操作的。一般,我们都使用自动编号字段来表示某条记录的唯一性(一般名字叫 id),而 select * from table order [id] 就是按添加的顺序来显示记录。
好了,知道了记录如何显示,我们就可以自己控制了,我们可以再添加一个字段,字段名字叫 orderid ,类型为长整型。当要在尾部添加记录的时候,我们用
INSERT INTO table (orderid) SELECT max(orderid)+1 FROM table
来做。当要在中间某条记录之前插入记录时,我们要做的就是先取得这条记录的 orderid,然后用
update table set orderid = orderid+1 where orderid >= 取得的orderid
insert into table (orderid) values(取得的orderid)
在显示的时候,如果要按照自己的顺序排列,就可以用 select * from table order by orderid
录入:changechange(CSDN) 责任编辑:cg1
Top
8 楼yifanwu(逸凡)回复于 2003-12-31 16:35:47 得分 0
你的问题应该很好解决
加一个自动编号的字段
在客户端用order by就可以了!
如果你的客户说他要打开表就看到按序排列的,并且执意不order by
只要是access数据库,那么你给他建一个view,这样让他打开view就可以了!Top




