***如何可选择的对查询结果按不同的方式进行排序?*** 举个例子: 我想对查询出的结果按“学生成绩”排序,还需要按“学号”排序。程序怎么让用户随便选择排序呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sql.add('select * from table order by ' + edit1.text + ',' + edit2.text);依次写就行了 用adodataset作查詢結果﹕adodataset.sort=学生成绩或 adodataset.sort=学号 可以把所有可以用来排序的字段全部装入一个COMBOBOX中,供用户选择 不要硬编码,把想用来order by的关键字做到listbox中由用户选择,定义个string型变量比如叫orderseed用来记录这个listbox的item,sql中用orderseed排序不就可以了吗。个人觉得listbox中的item也不应该是你在编程时硬编码进去的,应该由数据库中读出可用来排序的关键字,这样实用性好一点,希望可以帮上忙 我看错了, 用firetoucher(风焱) ( )大哥的吧,默认排序方式 是ASC,如果第一个排序字段中有重复值,则会按第二个字段排序 你的 意思是 分别 进行排序,还是 对学号、成绩同时进行 排序如果 是 那就 select * from biao order sno order by chengji Asec这就是 在 按照学号排序的 同时,然后对 那 个人的 全部成绩在 排序 to: ollea(一定要mf到胡萝卜) 我用的是存储过程啊,该怎么动态选择不同的排序呢?是不是用存储过程,就没办法象使用TQUERY控件那样动态设置SQL了? 对存储过程传递参数 sName 然后在存储过程中使用 select * from table order by sName to xuege(流浪汉)不好意思刚才看到你给我的留言,没及时回复,望见谅可以传递参数,把orderseed传过去 :)。关键是orderseed不应该是你在编程时期硬在listbox 属性中写进去的,我觉得是应该从表中读出来可用来排序的关键字,我以前是在建表的时候添加一个键值,这样读表的时候,只要判断相关的键就可以知道那些可以用来排序,将它们添加到listbox或者是combox中,供用户选择。要求就是用动态的sql语句,参考书上应该有动态sql的例子。不难,你静心看一下。望顺利完成 谢谢以上各位,要特别感谢 ollea(一定要mf到胡萝卜) 的热心指点,真的非常感谢!!!我就是没想到用参数进行排序,我总想能在dbgrid里点击一列,就可以按这一列排序,我以为有什么设置就可以很简单的办到呢,所以竟这么想了。再次谢谢大家!! 从数据库导出XML文件 Sql Server (Local)注册不了 如何终止正在运行的存储过程? 如何改变第二个fsMDIChild窗口的大小 急~~~~~~~~~~关于从虚拟表里取数据的问题 请问如何取得一字符串中某一字符在ASCII码中的序数 已经将一个应用程序放到右下角的任务栏中,如何动态的改变它的图标呢 关于ComboBox的一个简单问题 谁告诉我 我错在那里? delphi 如何做串口通讯 内容显示的问题?? 非常感谢l0f,请进来领分。
依次写就行了
或 adodataset.sort=学号
还是 对学号、成绩同时进行 排序如果 是 那就
select * from biao order sno order by chengji Asec这就是 在 按照学号排序的 同时,然后对 那 个人的 全部成绩在 排序
是不是用存储过程,就没办法象使用TQUERY控件那样动态设置SQL了?
然后在存储过程中使用 select * from table order by sName
不好意思刚才看到你给我的留言,没及时回复,望见谅
可以传递参数,把orderseed传过去 :)。关键是orderseed不应该是你在编程时期硬在listbox 属性中写进去的,我觉得是应该从表中读出来可用来排序的关键字,我以前是在建表的时候添加一个键值,这样读表的时候,只要判断相关的键就可以知道那些可以用来排序,将它们添加到listbox或者是combox中,供用户选择。要求就是用动态的sql语句,参考书上应该有动态sql的例子。不难,你静心看一下。望顺利完成
我就是没想到用参数进行排序,
我总想能在dbgrid里点击一列,就可以按这一列排序,
我以为有什么设置就可以很简单的办到呢,所以竟这么想了。
再次谢谢大家!!