热情软件屋

 

ADO中如何排序


编号:QA002483
建立日期: 2000年1月24日 最后修改日期:2001年8月12日
所属类别:

老黑:
    如果用ACSSESE97对一个表创建了一个索引,用VB的ADO对象打开RECORDSET时如何使用索引,是自动吗?如果一个表有好几个索引,如何在VB中分别使用?FOXBASE的索引有个INDEX文件,用哪个调哪个。很方便,在VB不知该怎么办,尤其我需要的是两个字段的索引,如日期和时间,先按日期排序再按时间排序。

回答:

    ADO 2.0不支持对Index的直接操作,但可以利用索引提高查找的效率,参考QA001386 "ADO利用索引提高效率"。而对于排序,一般是你在打开Recordset时使用的SQL语句中的Order By决定的。如:
    rs.Open "Select ProductID from products order by ProductName", ....
    ORDER BY 子句可以包含多个字段。首先用 ORDER BY之后列举的第一个字段对记录排序。然后对此字段中等值的记录用第二字段列举的值进行排序,依此类推。如:
    rs.Open "Select ProductID from products order by ProductName, ProductID", ....
    
    flhy问:
    如果我需要用两个以上字段的和从小到大来排序,请问如何操作?从大到小呢?
    答:order by后面可以跟多个字段。默认是从小到大排列,即升序。如果需要降序排列,可以在字段名后面加DESC,如:
    rs.Open "Select ProductID from products order by ProductName DESC, ProductID", ....
    在这个例子中,ProductName按降序排列,而ProductID按升序排列。
    
    相关问题:
    QA004320 "如何用ado recordset的sort 属性对字段按降序排列"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio