procedure TForm1.Button2Click(Sender: TObject); var
name01:string;
ste01:integer;
lnfen1:integer;
lnfen2:integer;
lx1:string;
kzb01:string;
kzb02:string;
ktk01:integer;
ktk02:integer;
kzb701:string;
kzb702:string;
kzb703:string;
kzb704:string;
ktk701:integer;
ktk702:integer;
begin begin
adotable2.First;
while not adotable2.eof do begin
lx1:=adotable2.fieldbyname('leixin').AsString;
adotable2.edit;
adotable2.Post;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.add('select count(t11) as lnfen2 from tk where t11 like ''%'+lx1+'%''');
adoquery2.Open;
lnfen2:=adoquery2.fieldbyname('lnfen2').asinteger;
adotable2.Edit;
adotable2.fieldbyname('yti').asinteger:=lnfen2;
adotable2.Next;
end;
end; begin
adotable3.First;
while not adotable3.Eof do begin
adotable3.open;
adotable3.edit;
kzb01:=adotable3.fieldbyname('zhibiao').asstring;
kzb02:=adotable3.fieldbyname('leixin').asstring;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.add('select count(t13) as ktk01 from tk where t13 like ''%'+kzb01+'%''and t11 like ''%'+kzb02+'%''');
adoquery2.Open;
ktk01:=adoquery2.fieldbyname('ktk01').asinteger;
adotable3.Edit;
adotable3.FieldByName('yts').asinteger:=ktk01;
adotable3.Next;
end;
end;
begin
adotable4.First;
while not adotable4.Eof do begin
adotable4.open;
adotable4.edit;
kzb701:=adotable4.fieldbyname('zhibiao').asstring;
kzb702:=adotable4.fieldbyname('leixin').asstring;
kzb703:=adotable4.fieldbyname('nandu').asstring;
kzb704:=pchar(kzb703);
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.add('select count(t13) as ktk701 from tk where t13 like ''%'+kzb701+'%''and t11 like ''%'+kzb702+'%'' and t12 like ''%'+kzb704+'%'' ');
adoquery2.Open;
ktk701:=adoquery2.fieldbyname('ktk701').asinteger;
adotable4.Edit;
adotable4.FieldByName('yts').asinteger:=ktk701;
adotable4.Next;
end;
end;end;
end.
name01:string;
ste01:integer;
lnfen1:integer;
lnfen2:integer;
lx1:string;
kzb01:string;
kzb02:string;
ktk01:integer;
ktk02:integer;
kzb701:string;
kzb702:string;
kzb703:string;
kzb704:string;
ktk701:integer;
ktk702:integer;
begin begin
adotable2.First;
while not adotable2.eof do begin
lx1:=adotable2.fieldbyname('leixin').AsString;
adotable2.edit;
adotable2.Post;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.add('select count(t11) as lnfen2 from tk where t11 like ''%'+lx1+'%''');
adoquery2.Open;
lnfen2:=adoquery2.fieldbyname('lnfen2').asinteger;
adotable2.Edit;
adotable2.fieldbyname('yti').asinteger:=lnfen2;
adotable2.Next;
end;
end; begin
adotable3.First;
while not adotable3.Eof do begin
adotable3.open;
adotable3.edit;
kzb01:=adotable3.fieldbyname('zhibiao').asstring;
kzb02:=adotable3.fieldbyname('leixin').asstring;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.add('select count(t13) as ktk01 from tk where t13 like ''%'+kzb01+'%''and t11 like ''%'+kzb02+'%''');
adoquery2.Open;
ktk01:=adoquery2.fieldbyname('ktk01').asinteger;
adotable3.Edit;
adotable3.FieldByName('yts').asinteger:=ktk01;
adotable3.Next;
end;
end;
begin
adotable4.First;
while not adotable4.Eof do begin
adotable4.open;
adotable4.edit;
kzb701:=adotable4.fieldbyname('zhibiao').asstring;
kzb702:=adotable4.fieldbyname('leixin').asstring;
kzb703:=adotable4.fieldbyname('nandu').asstring;
kzb704:=pchar(kzb703);
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.add('select count(t13) as ktk701 from tk where t13 like ''%'+kzb701+'%''and t11 like ''%'+kzb702+'%'' and t12 like ''%'+kzb704+'%'' ');
adoquery2.Open;
ktk701:=adoquery2.fieldbyname('ktk701').asinteger;
adotable4.Edit;
adotable4.FieldByName('yts').asinteger:=ktk701;
adotable4.Next;
end;
end;end;
end.
速度会快
update table2 set lnfen2=(select count(*) from tk where t11 like
'%table2.leixin%')
adotable2 表字段leixin的数据在tk 的 t11对应的
你就可以根据我上面写的进行更新
SQL> create table c1 (id number,lx varchar(2),sumc number);
表已创建。
SQL> create table c2 (id number,lx varchar(2));
表已创建。
SQL> insert into c1 values(1,'ab',null);
已创建 1 行。
SQL> insert into c1 values(2,'cd',null);
已创建 1 行。
SQL> insert into c2 values(1,'a');
已创建 1 行。
SQL> insert into c2 values(2,'b');
已创建 1 行。
SQL> insert into c2 values(3,'c');
已创建 1 行。
SQL> insert into c2 values(4,'d');
已创建 1 行。
SQL> commit;提交完成。SQL> update c1 set sumc=(select count(*) from c2 where instr(c1.lx,lx)>0);已更新2行。SQL> select * from c1; ID LX SUMC
---------- -- ----------
1 ab 2
2 cd 2
大哥你就帮人帮到底,
帮我用DELPHI试一下????
[email protected]
你有没有QQ: