我用SQL查出来的结果有两列,如下:GoodsCode Name
000001 钢笔
000002 铅笔
000003 毛笔
000004 画笔但是我还想在前面加上列号,使结果成为这样,如下:Number GoodsCode Name
1 000001 钢笔
2 000002 铅笔
3 000003 毛笔
4 000004 画笔
这样的SQL语句怎么写啊?现在急用,在线等,高手指教!!
000001 钢笔
000002 铅笔
000003 毛笔
000004 画笔但是我还想在前面加上列号,使结果成为这样,如下:Number GoodsCode Name
1 000001 钢笔
2 000002 铅笔
3 000003 毛笔
4 000004 画笔
这样的SQL语句怎么写啊?现在急用,在线等,高手指教!!
select * from #Table 就是你想要的东东!记得Drop Table #Table
仿照别人的,赫赫
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Column.Index = 0 then
with DBGrid1.Canvas do begin
FillRect(Rect);
TextOut(Rect.Left+2, Rect.Top+2, IntToStr(DBGrid1.DataSource.DataSet.RecNo));
end;
end;
Number:=copy(filedByNmae('GoodsCode').asstring,5,1);
这也该算是答案吧!
select identity(int,1,1) as Number,GoodsCode,Name into #Table from Table
select * from #Table 就是你想要的东东!记得Drop Table #Table
仿照别人的,赫赫
这是曾经写的一个例子:
try
with frmDataModule.QFlags do begin
Close;
SQL.Clear;
SQL.Text:='select Name from sysobjects where Name=''ProjectsumA''';
Open;
if FieldByName('Name').Value<>null then
begin
Close;
SQL.Clear;
SQL.Text:='drop table ProjectsumA';
ExecSQL;
end;
Close;
SQL.Clear;
SQL.Text:='select IDENTITY(int,1,1) as 序号,* into ProjectsumA from (select * from projectsum) a';
ExecSQL;
end;
with frmDataModule.QProject do begin
Close;
SQL.Clear;
SQL.Text:='select * from projectsumA order by 序号';
Open;
end;
except
end;以上测试通过的。据说微软公开一个函数,可以实现这个功能,但具体不清楚。
不就得了
还用数据库吗?
除了这个函数就没有别的办法了吗?? 自己顶!!!!!!
adoquery1.sql.clear;
adoquery1.sql.add('select GoodsCode,Name,
IDENTITY(int,1,1) as 序号 ');
adoquery1.sql.add('order by 序号 ASC');
adoquery1.open;
你试一下