update 表 set CountOfData=0 where CountOfData is null update 表 set CountOfData=32/CountOfData where CountOfData<>0
procedure ChangeDBFieldValue(ds:TDataSet); var i:integer; iValue:integer; begin ds.Open; ds.First; for i:=0 to ds.RecordCount-1 do begin ds.Edit; if ds.FieldByName('CountOfData').IsNull then ds.FieldByName('CountOfData').AsInteger:=0 else begin iValue:=ds.FieldByName('CountOfData').AsInteger; if iValue<>0 then ds.FieldByName().AsInteger:=32./iValue; end; ds.Next; end; end;
iValue:=ds.FieldByName('CountOfData').AsInteger; if iValue<>0 then ds.FieldByName().AsInteger:=32./iValue; end; ds.Next; end; ds.Close;//////////////////////////////////忘关闭了。 end;
update 表 set CountOfData=32/CountOfData where CountOfData<>0
var
i:integer;
iValue:integer;
begin
ds.Open;
ds.First;
for i:=0 to ds.RecordCount-1 do
begin
ds.Edit;
if ds.FieldByName('CountOfData').IsNull then
ds.FieldByName('CountOfData').AsInteger:=0
else
begin
iValue:=ds.FieldByName('CountOfData').AsInteger;
if iValue<>0 then
ds.FieldByName().AsInteger:=32./iValue;
end;
ds.Next;
end;
end;
if iValue<>0 then
ds.FieldByName().AsInteger:=32./iValue;
end;
ds.Next;
end;
ds.Close;//////////////////////////////////忘关闭了。
end;
如果要处理异常,可能在ds.Next里。
try
ds.Next;
except
ds.Cancel;
ds.Next;
end;