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;