在查询语句中如何增加序号字段(利用临时表)
我需要的是通过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
[解决办法]
临时表可以设置一个自增字段。