DBGrid中实现了按用户输入的顺序进行排序,但如果用户在当前行前插入一行顺序就出现问题了,怎么解决?

arraiy 2006-05-08 05:01:18
如题:
DBGrid中实现了按用户输入的顺序进行排序,但如果用户在当前行前插入一行顺序就出现问题了,怎么解决?

大家有没有好的方法介绍一下!多谢!!
...全文
235 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
47522341 2006-05-10
  • 打赏
  • 举报
回复
自动编号一般都是聚簇索引,
数据库物理文件是按照聚簇索引排序的;
你的sql语句只是将物理文件中的数据记录display出来。

所以如果想要实现楼主的排序方式,建议选择如下方案之一:
1,不要使用自动编号字段;
2,使用一个辅助字段,sql语句中注明按照该辅助字段排序。
gulf1234 2006-05-10
  • 打赏
  • 举报
回复
在插入之前,记录下当前记录的那个编号(比如说10),再记录下前一条记录的编号,比如说9,那么新增记录的编号就为(10+9)/2,就就是那两个编号相加,然后除以2。但是有一个问题:

如果你用自动递增字段的话,可能你就不能对该字段进行赋值了,你可以试试。如果不行的话,你可以在程序中控制,自动加一来实现。
arraiy 2006-05-08
  • 打赏
  • 举报
回复
大家帮帮忙呀,小弟很急呀!
arraiy 2006-05-08
  • 打赏
  • 举报
回复
实现按用户输入的顺序排序是在表里加一个自动递增字段,这样每加一条记录都会自动生成编号,按这个编号排序就行.这个编号是自动累加的,但是,如果用户修改已录入资料,在某行已有记录之前插入一条新记录的时候,这个自动编号还是会累加,结果顺序就不对了!

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧