回 帖 发 新 帖 刷新版面

主题:添加数据时如何才能从数据库的第一行添加,原来的数据一次向后串?

现在需要在数据库中添加数据。
但是需要将添加的数据 从数据库的第一行添加,原来的数据库中的数据依次 向后串,(添加的数据不能覆盖原来的数据库中的数据),请问这该如何添加?


回复列表 (共18个回复)

沙发

数据库里的行次并没有实际意义。
看来你需要进步了解数据库的实质。
你就放到后面,查询的速度和放在前面是一样的。

板凳

如果需要你可以通过排序等方式将数据呈现出来啊,不一定非要按什么顺序写入

3 楼

两位大侠可能误会了 
我是 第一次进入这个界面时调用查询故障 命令,将所有的故障记录全部显示出来,按照1-20(加入有20个故障记录的话)

但是在此界面下,可能又有新的故障出现。我想只 查询最新出现的故障,而保存原来的故障。由于最新的故障的 故障序号为1,所以 原来 排的故障记录的序号 相应都得向后串一下,比如出现一个最新故障,最新的这个故障的序号就是1,原来的1-20就得变成2-21.

4 楼

增加时间字段
查询只看时间,不要看序号。
再说,序号也不一定要单调递增

5 楼

[quote]两位大侠可能误会了 
我是 第一次进入这个界面时调用查询故障 命令,将所有的故障记录全部显示出来,按照1-20(加入有20个故障记录的话)

但是在此界面下,可能又有新的故障出现。我想只 查询最新出现的故障,而保存原来的故障。由于最新的故障的 故障序号为1,所以 原来 排的故障记录的序号 相应都得向后串一下,比如出现一个最新故障,最新的这个故障的序号就是1,原来的1-20就得变成2-21.
[/quote]

你可以倒过来思考啊,将错误从小到大编号,要查最新的错误时只要查询编号最大的不就行了吗,或者查询时按照序号从大到小排序不就行了。

6 楼

重新生成一个新的表,新的数据addnew
adoc1.recordset movelast
do while .recocordset.bof=false
adodc2.recordset("")=adodc1.recordset("")
......
adodc1.recordset.moveprevious
loop

7 楼


不能这样

编号越小 故障越新
这不是我能 改变的

8 楼

我现在的程序 在添加新的故障记录时

数据库中的 序号已经 按照从小到大的顺序排列,
但是
datagrid中的、数据 并没有按照从小到大的顺序排列。

当新的故障出现时, 添加的记录还是在
datagrid 的最后行。


9 楼

楼主是不是用datagrid控件绑定adodc控件作为数据源?
如果是的话,建议你将adodc控件的命令类型改为adCmdText,表或存储过程名称改为
select * from 错误表 order by 错误编号

10 楼

[quote]
不能这样

编号越小 故障越新
这不是我能 改变的[/quote]

如果真是要这样的话,在每次产生新的错误时,以前已保存错误的编号自动加1,可以用
SQL语句 "update 错误表 set 编号=编号+1" 来修改,新增加的错误其编号设为1.

我来回复

您尚未登录,请登录后再回复。点此登录或注册