如何让SQL SERVER中的表,总是按某个字段排序。(50分)

  • 主题发起人 主题发起人 ddw
  • 开始时间 开始时间
D

ddw

Unregistered / Unconfirmed
GUEST, unregistred user!
在ACCESS中,能对表中的所有记录按照某个字段进行升序/降序排列,只要按那个排序按钮即可。
但是在SQL SEVER2000中,在打开表的时候,那两个升序/降序的按钮总是灰色。
如何设计表,让表中的数据永远按照指定字段进行自动升序或降序排列。
 
用什么打开的?

-----
http://www.8421.org
 
直接用sql server2000打开的。
 
企业管理器?
那有地方可以排序啊,真是厉害
不知道你到底要做什么,自己写sql 加order by随便你怎样都可以
 
在SQL的表中添加索引[:)]
 
在执行insert into 表a(编号,……)
select……from b 表
where 条件
group by c表.ID
order by c表.ID,

发现在sql server2000中的a表的顺序并不是按着ID字段的升序排列,但有时候是按升序排列。
这样就造成了做a表格式的报表时候,各字段从Tadotable1中取出,顺序并不是要的顺序。
于是我在a表形成后,执行了adotable1.Sort := '编号 ASC',但是并不管用,因为我的报表中,头一个字段车型代码,来自c表,其他的字段来自a表,如果a表的顺序不能做到按编号升序排列的话,那就大错特错了。



 
企业管理器中有个显示隐藏SQL窗格中可以输入SQL语句。
默认打开是就只是个select * from tablename语句。
自己在后面加上order by fieldName [ASC | DESC]排序升降序
fieldName 为排序字段名。

 
to all
你们看看怎么解决。
有时候顺序对,有时候顺序不对。
 
我不知道当报表中的各个memo(在fastreprot中)或qrdbtext(quick reprt)中,当他们直接
从adotable,或其他dataset中取数据时,怎么执行ordey by,再说就是能order by,假设能
在memo或qrdbtext中执行order by,那你也只是对某一个字段排序了,那报表就更乱了
何况根本做不到,我向智能直接从表中做手脚,或者在insert的时候,就能insert出顺序来,
不过我看好像sql server和access不一样。
 
为表建个索引。
在AdoTable中的IndexName引用这个索引。
试试看。
 
建完索引,但弹出“当前提供程序不支持“索引“功能必需的界面。“
这怎么回事啊
 
如果a表的顺序不能做到按编号升序排列的话,那就大错特错了
怀疑你对表的关联不清楚。数据库之间的关联,跟记录在表中的位置并没有什么大的关系。
关键在于建立关联的字段。位置不一样又有什么关系。

对你的问题,很不理解。不明白你到底要做什么。
我先 game over 了。
 
[green]在memo或qrdbtext中执行order by,那你也只是对某一个字段排序了,那报表就更乱
了[/green]
排序可以多个排序。order by 语句可以加多个字段进行排序。
order by fieldname1,fieldname2,....

 
to bclangren
因为在表中,insert完之后,发现表中记录的顺序,并不是按着某一个特定字段的升序
排列的,这样的结果就是,当报表(也为表的结构就和报表相同)出来,那顺序不对。
不过我按你的方法,给那个字段建了索引之后,发现新加入的所有记录,都按着我要求的
顺序排列了,这样报表出来就不会错了。
 
//建完索引,但弹出“当前提供程序不支持“索引“功能必需的界面。“
// 这怎么回事啊
我说的这句话的原意是,在adotable 中的,indexname中引用那个索引的时候,出现的
问题。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部