读书人

在查询语句中怎么增加序号字段(利用临

发布时间: 2013-07-04 11:45:40 作者: rapoo

在查询语句中如何增加序号字段(利用临时表)
我需要的是通过2个DateTimePicker控件确定时间段作为查询条件,在时间段内的查询结果显示在dbgrid中,并在每条数据前增加一个序号字段。(因为每条记录的id自增字段通过查询,其位置不是按顺序排的,所以要个新增的序号字段来显示查询结果)。。。偶说滴有点嗦哈。。。
代码如下:

 with gwcladoquery1 do
begin
close;
sql.Clear;
sql.Add('select * from workftab where lwfl= '''+trim(edit1.text)+''' and swsj between :startrq and :endrq order by id ');
parameters.ParamByName('startrq').value :=formatdatetime('yyyy-mm-dd',datetimepicker1.Datetime);
parameters.ParamByName('endrq').value:=formatdatetime('yyyy-mm-dd ',datetimepicker2.Datetime)+'23:59:59';
open;
end;
end;

请各位大神们看看,是不是通过建立临时表,通过把里面select语句改了,就能实现吗?还是有别的方法??数据库是sqlserver2005

以前在adoquery控件下新建一个new field,设置下相关项,用recno什么的好像能改,不过要求数据集是开着的,才能add all field吧?我现在这个开着adoconnection的话,如果没连上数据库会弹框框,用try...except,没连上好像也弹框框,让adoconnection关了就没事了。。新手,请大神们看看,这个东东如何实现最好。谢谢 数据库 SQL?Server
[解决办法]
select ROW_NUMBER() OVER (order by startrq ) as RecNo , * from workftab

查询语句改成这 加 ROW_NUMBER() OVER (order by startrq ) as RecNo
[解决办法]
引用:
谢谢leetuo
ROW_NUMBER()是MS SQL Server 2005中新增窗口函数,可用来直接生成行号。刚上网看了下,还有这么个现成的东东哈,方便。

如果我这个是用临时表实现的话,该如何做呢?可以的话就这个问题可以改下吗?

我明天晚上回来,如果有用临时表做的,请发下,新手学习ing,没有的话,明晚就结题了先,我在百度里搜了半天如何在查询中新增加序号字段。。。就没发现过ROW_NUMBER()。。。。还好没走进深坑,再次感谢参与帖子的所有朋友。

临时表可以设置一个自增字段。

读书人网 >.NET

热点推荐