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 属性对字段按降序排列"
此问题由李海回答。
| |
|
|
| |
|
|