2

如何在datagridview中显示降序,顺序必须从最后一个字符之后开始。

这是我在 datagridvie "VehicleNo" 中的专栏

前任:

1)ap20aa4779

2)ap09ss9999

3)se06ps1136

4)su02rd5544

DESCENDING order必须从最后一个字符之后开始。

我从数据库中获得以下值:-

1)ap09ss9999

2)su02rd5544

3)ap20aa4779

4)se06ps1136

The database is MSACCESS 2007.

我的一位朋友建议这个查询:-

select VehicleNo from ScooterInOut order by reverse(vehicleNo) desc where TokenStatus=0

它工作得很好,SQL SERVER但不工作MsAccess

你能建议...

提前致谢

4

3 回答 3

2

在表达式中使用 Access db 引擎的Right()函数。ORDER BY

SELECT VehicleNo
FROM ScooterInOut
WHERE TokenStatus=0
ORDER BY Right(vehicleNo, 4) DESC;
于 2012-06-15T14:56:57.363 回答
0
 Select VehicleNo
 From tblVehicles
 Order By Convert(int,SUBSTRING(VehicleNo,Len(VehicleNo)-3,4)) Desc
于 2012-06-15T07:21:14.207 回答
0

获取数据后,为什么不在客户端(即 Datagridview)上进行排序。那么你将不会有任何 SQL SERVER / MSACCESS / Oracle 类型的依赖。查询数据,绑定到 DatagridView,然后在网格视图上应用排序。

因此,您可以像这样留下您的查询 -

select VehicleNo from ScooterInOut where TokenStatus=0这是一个非常标准的查询。然后,在绑定数据后对 Datagridview应用排序。

阅读 msdn,它包含有关如何实现此目的的所有信息 - http://msdn.microsoft.com/en-us/library/ms171607.aspx

性能问题 - 我假设您会考虑批量查询、应用分页和东西,如果它是一个大型数据集,那么您可能会考虑虚拟化 datagridview 等。

于 2012-06-15T09:24:02.763 回答