sql数据库里有一个表,格式如下: 类型 类型号 Z Z X R X Z R ...... 窗体上有一个button,一个dbgrid显示表,如何按下button实现对表进行编号: 类型 类型号 Z 1 Z 2 X 1 R 1 X 2 Z 3 R 2 .... 这样的循环语句改怎么写啊?提示z有3个x有2个…
解决代码:
procedure TForm1.Button1Click(Sender: TObject); var chr:string; i:Integer; begin with ADOQuery2 do begin Close; SQL.Clear; SQL.Add('alter table table1 add id int identity(1,1)'); ExecSQL; Close; SQL.Clear; sql.Add('select 类型,id from table1 order by 类型 asc'); Open; end; chr := ADOQuery2.Fields[0].AsString; i := 0; while not ADOQuery2.Eof do begin if ADOQuery2.Fields[0].AsString = chr then Inc(i) else begin chr := ADOQuery2.Fields[0].AsString; i := 1; end; with ADOQuery3 do begin Close; SQL.Clear; SQL.Add('update table1 set 类型号=:v0 where id=:v1'); Parameters[0].Value := i; Parameters[1].Value := ADOQuery2.Fields[1].AsInteger; ExecSQL; end; ADOQuery2.Next; end; with ADOQuery2 do begin Close; SQL.Clear; SQL.Add('alter table table1 drop column id'); ExecSQL; end; end;
